MobPush iOS端海外推送最佳实现 原创

MobService
发布于 2024-7-2 17:51
浏览
0收藏

推送注册


在AppDelegate里进行SDK初始化(也可以在Info.plist文件中进行AppKey,AppSecret的配置)并对通知功能进行注册以及设置推送的环境和切换海外服务器等,参考如下步骤代码:


#import     <MobPush/MobPush.h>
#import     <MOBFoundation/MOBFoundation.h>
- (    BOOL)application:(    UIApplication \*)application didFinishLaunchingWithOptions:(    NSDictionary \*)launchOptions{

   //1.初始化SDK
    [MobSDK registerAppKey:@"2e76e2e95a7ad" appSecret:@"e83de04bc9d850784ca01b5fcfbc886e"];
    //2.上传隐私状态
    [MobSDK uploadPrivacyPermissionStatus:YES onResult:^(**    BOOL** success) {}];

    //3.设置推送环境    如果为开发状态设置为 NO; 如果为生产状态,应改为 YES
    [MobPush setAPNsForProduction:NO];

    //4.设置地区:regionId 默认0(国内),1:海外
    [MobPush setRegionID:1];

    //5.MobPush推送设置(获得角标、声音、弹框提醒权限)
        MPushNotificationConfiguration *configuration = [[    MPushNotificationConfiguration alloc] init];
    configuration.types =     MPushAuthorizationOptionsBadge |     MPushAuthorizationOptionsSound |     MPushAuthorizationOptionsAlert;
    [MobPushsetupNotification:configuration];

}


添加推送监听


同时可以在AppDelegate里注册监听,可以监听到推送消息的到达和点击,参考代码如下:


- (BOOL)application    :(UIApplication \*)application didFinishLaunchingWithOptions    :(NSDictionary \*)launchOptions{


       [[NSNotificationCenter defaultCenter] addObserver    :self selector:@selector(didReceiveMessage:) name    :MobPushDidReceiveMessageNotification object    :nil];


}


接收回调处理


在回调中处理接收到的MobPush的通知监听,需要注意如果应用处于后台或者杀死,是不会走APNS回调的,需要点击通知消息才能触发被点击的回调,参考代码如下:


// 收到通知回调


- (void)didReceiveMessage:(    NSNotification *)notification
  {
      MPushMessage *message = notification.object;

// 推送相关参数获取示例请在各场景回调中对参数进行处理
//     NSString *body = message.notification.body;

//     NSString *title = message.notification.title;
//     NSString *subtitle = message.notification.subTitle;
//     NSInteger badge = message.notification.badge;
//     NSString *sound = message.notification.sound;
//     NSLog(@"收到通知:{\nbody:%@,\ntitle:%@,\nsubtitle:%@,\nbadge:%ld,\nsound:%@,\n}",body, title, subtitle, (long)badge, sound);
switch (message.messageType)
{
case     MPushMessageTypeCustom:
{// 自定义消息回调
}
break;
case     MPushMessageTypeAPNs:
{// APNs回调
}
break;
case     MPushMessageTypeLocal:
{// 本地通知回调

}
break;
case     MPushMessageTypeClicked:
{// 点击通知回调

}
default:
break;
}


注意:海外推送与国内推送SDK是一样的,不区分SDK版本,需要注意的是海外需要增加以下接口切换到海外服务器,另外目前4.x版本只支持APNS厂商通道推海外,TCP通道不支持。


[MobPush setRegionID:1];


使用开发者后台进行推送


登陆我们的后台,然后打开已注册的应用,添加 MobPush 产品之后,进行iOS设置,上传证书,Bundle id等信息,如下图:


MobPush iOS端海外推送最佳实现-鸿蒙开发者社区image.png


然后 切换海外版点击同步国内配置到海外版 ,将信息同步到海外,如下


MobPush iOS端海外推送最佳实现-鸿蒙开发者社区image.png


最后点击 创建推送 进行推送


MobPush iOS端海外推送最佳实现-鸿蒙开发者社区image.png


注意:选择的推送环境需要和代码里设置的推送环境,安装的包的环境,这3处的环境必须要一致。


使用API接口进行推送


接口:​​http://abroad.api.push.mob.com/v3/push/createPush​


具体的传参可以参考国内接口传参:​​参考这里​


可以使用Postman测试,例如:


MobPush iOS端海外推送最佳实现-鸿蒙开发者社区image.png


MobPush iOS端海外推送最佳实现-鸿蒙开发者社区image.png


注: API接口里的 iosProduction 参数是设置推送环境参数,与客户端代码设置的推送环境以及安装的包的环境一致。另推送可以选择在开发者后台进行推送或者是调用API接口进行推送,任选其一即可。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2024-7-2 17:54:26修改
收藏
回复
举报
回复
    相关推荐