oneSignal 跨平台推送
iOS,安卓程序内推送都可以收到
创建OneSignal帐号&创建App
接下来你要前往 OneSignal 注册一个账号,在这个阶段你将按照提示设置你的 app。
现在,在你需要签署一个协议。下面将会是最复杂的部分。我先从 iOS 开始,之后再说 Android。
创建 iOS 推送证书
你大概应该在屏幕上看到这样的东西...
你可能想直接点击 save 去创建你的 .p12 文件(下面我们马上会讲)但是我们实际上 在苹果开发者中心创建了我们自己的app。
如果你从没有做过上面的事情的话。需要注意的是你需要设置一个不冲突的 App ID 才能使推送正常工作。
你将要赋予这个 app 推送消息的能力
既然我们已经创建证书了。我们可以继续使用 OneSignal 有一个叫做 The Provisionator 的工具帮助我们处理下面的事情。
如果你对这个工具获取到你的App账号的使用权感到不安。你可以 手动的创建证书。
高级技巧:如果你的账号开启了二次身份验证。为了使用 The Provisionator。你需要关闭它。为了保持账号的安全我通常会在使用前和使用后去更改密码。所以尽情的使用它。
现在让我们使用这个工具获取到我们的证书。
登陆你的账号并确保选择正确的 team。
点击 “Next”,等待一会,你会看到下面的样子。
接着把这些文件下载下来。记住你的 p12 的密码。现在我们可以回到 OneSignal 。上传我们的文件。
这就是如何设置 iOS
配置 iOS
在我深入之前,我想说,这些基本上是我重新组织了一下 官方文档 ,所以如果你遇到问题。请去官方文档看一下。让我们开始配置我们的 app。
首先你应该安装 OneSiganl 的 iOS SDK,可以通过 CocoaPods 进行安装。你应该确保你的 cocopods 为最新版本。可以通过下面的命令进行检查。
pod --version
如果不是最新版本,你可以通过下面的命令进行升级。
sudo gem install cocoapods --pre
现在,在你的 React Native 项目中,进入到 iOS 目录下面。初始化一个 PodFile 文件。
cd ios/ && pod init
你应该添加 OneSiganl 的 pod 在文件中。看起来应该像这样。
# Uncomment the next line to define a global platform for your project# platform :ios, '9.0'target 'OneSignalExample' do # Uncomment the next line if you're using Swift or would like to use dynamic frameworks # use_frameworks! # Pods for OneSignalExample pod 'OneSignal', '~> 1.13.3'end
我移除了测试目录。我不需要他们并且他们导致了一个错误。
现在。回到命令行并在 ios/ directory 目录底下运行下面的命令。
pod install