现有博览会项目中的推送通知

时间:2019-01-17 17:35:17

标签: react-native push-notification expo

我在expo中使用react-native创建了一个现有应用程序。在该应用中,我必须添加expo push通知功能。我使用以下链接创建了NotificationController: https://docs.expo.io/versions/v32.0.0/guides/push-notifications

我现在需要知道该控制器的放置位置。我是移动开发领域的新手,只需要有关此控制器正确放置的帮助,以便我们可以向客户展示此控制器。

1 个答案:

答案 0 :(得分:0)

一旦创建了推送通知服务,它既可以是服务目录中单个文件中的功能(如果不存在,则可以创建),也可以是组件。

然后将该函数导入到主app.js中,并在componentDidMount生命周期函数中使用它。这只是一个示例代码,我相信它可以进一步改进,但这已经足够入门。

push_notification.js

string str = richTextBox1.Text;
        var array = str.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
        var regex = new Regex(@"(?<Value>([+-]?(\d*\.)?\d+)+)", RegexOptions.Compiled);
        MatchCollection matches = regex.Matches(str);
        foreach (Match la in matches)
        {
            Console.writeLine(la);
        }

App.js

import {Permissions, Notifications} from 'expo';
import { ActivityIndicator, AsyncStorage} from 'react-native';

export default async () => {

    try{
        let previousToken =  await AsyncStorage.getItem('pushToken');

        if(previousToken){
            return;
        }else{
            let {status} = await Permissions.askAsync(Permissions.NOTIFICATIONS);
            console.log(status);

            if(status !== 'granted'){
                console.log("Don't like to receive push");
            }

            let token  = await  Notifications.getExpoPushTokenAsync();

            return token;
        }
    } catch(err){
        console.log(err);
    }
};