美文网首页
iOS集成AWS--PushNotification

iOS集成AWS--PushNotification

作者: 酸爽的小灯 | 来源:发表于2019-10-13 12:48 被阅读0次

AWS官网连接

案例中是Swift版本,Demo提供了OC版本的集成
1.Profile 中配置AWS SDK

 platform :ios, '9.0'

 target :'YOUR-APP-NAME' do
   use_frameworks!

     pod  'AWSPinpoint', '~> 2.9.0'
     # other pods
     pod  'AWSMobileClient', '~> 2.9.0'
 end

运行

pod install --repo-update

2.导入头文件在AppDelegate中:

 import AWSCore
 import AWSPinpoint
 import AWSMobileClient

3.初始化,连接AWS服务器,创建Pinpoint对象

lass AppDelegate: UIResponder, UIApplicationDelegate {

    /** start code copy **/
    var pinpoint: AWSPinpoint?
    /** end code copy **/

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

         // Other didFinishLaunching code...

         /** start code copy **/
         // Create AWSMobileClient to connect with AWS
     AWSMobileClient.sharedInstance().initialize { (userState, error) in
           if let error = error {
             print("Error initializing AWSMobileClient: \(error.localizedDescription)")
           } else if let userState = userState {
             print("AWSMobileClient initialized. Current UserState: \(userState.rawValue)")
           }
         }
       
     // Initialize Pinpoint
         let pinpointConfiguration = AWSPinpointConfiguration.defaultPinpointConfiguration(launchOptions: launchOptions)
         pinpoint = AWSPinpoint(configuration: pinpointConfiguration)
         /** end code copy **/
     return true
    }
 }

初始化会访问本地awsconfiguration.json文件,成功 userState 返回 guest。

获取awsconfiguration.json

amplify 集成
执行命令

amplify init
amplify push

生成awsconfiguration.json放入项目中

上传token

使用创建好的pinpoint上传token

func application(
         _ application: UIApplication,
         didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

         pinpoint!.notificationManager.interceptDidRegisterForRemoteNotifications(
             withDeviceToken: deviceToken)
     }

AWS后台会通过device token生成Endpoint ID,功能相同

AWSMobileClient库 部分代码使用Swift编写,如果是使用OC编写的项目,需要进行代码混编的集成

image

相关文章

网友评论

      本文标题:iOS集成AWS--PushNotification

      本文链接:https://www.haomeiwen.com/subject/dybvyctx.html