接入华为推送用API给iOS应用发消息时如何获取a

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:胡椒网络

小提示:您能找到这篇{接入华为推送用API给iOS应用发消息时如何获取a}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的接入华为推送用API给iOS应用发消息时如何获取a内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">经常有开发小伙伴向我们提问关于使用华为推送给苹果手机推送消息的问题,那么首先华为推送到底支不支持苹果手机呢?答案可以肯定地告诉你:可以。

< font-size: 16px;">

< font-size: 16px;">苹果手机如何接入华为推送?

< font-size: 16px;">首先你需要提前准备好开发环境:



< font-size: 16px;">1)安装Xcode 10.1或更高版本。

< font-size: 16px;">2)安装CocoaPods 1.4.0或更高版本。

< font-size: 16px;">3)准备一台用于测试的iPhone设备或者模拟器。

< font-size: 16px;">开发环境准备好了,接下来就可以准备开发啦!

< font-size: 16px;">在开发应用前,需要在AppGallery Connect中配置相关信息,准备iOS推送消息凭证以及配置iOS推送代理权益。具体准备方法请参见:

< font-size: 16px;">如何获取Token?

< font-size: 16px;">1.     在Xcode中为您的项目启用推送服务,启用“Application Targ > Signing&Capabilities”中的"Push Notifications",勾选“Application Targ > Signing&Capabilities > Background Modes”中的“Remote notifications”和“Background processing”。

< font-size: 16px;">2.     向APNs(苹果推送服务)发起用户允许发送推送通知的请求。

< font-size: 16px;">```
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
 
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
[center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound) completionHandler:^(BOOL granted, NSError *_Nullable error) {
    if (granted) {
        // 授权成功
        [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings *_Nonnull settings) {
            if (settings.authorizationStatus == UNAuthorizationStatusAuthorized) {
               dispatch_async(dispatch_get_main_queue(), ^{
                 NSLog(@"grant authorized");
                 [[UIApplication sharedApplication] registerForRemoteNotifications];
               });
  &n管理者必读的十堂危机公关bsp;         }
      哪里有制作宣传片;  }];
    }
}];


< font-size: 16px;">```

< font-size: 16px;">用户需要在应用程序点击“允许”才可以接受推送消息。

< font-size: 16px;"> 

< font-size: 16px;">3.上述步骤成功后,需要获取device token(苹果设备的唯一标识)。获取device token后需要去掉其中的特殊符号,大于等于iOS13版本和小于iOS13版本的device token格式有所差别,可参考如下代码进行处理:

< font-size: 16px;">```

< font-size: 16px;">- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    PushDemoLog(@"suceess get token:{%@}", deviceToken);
    // 判断iOS设备系统版本
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 13) {
        if (![deviceToken isKindOfClass:[NSData class]]) {
            return;
        }
        const unsigned *tokenBytes = (const unsigned *)[deviceToken bytes];
        NSString *strToken = [NSString stringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",
                              ntohl(tokenBytes[0]), ntohl(tokenBytes[1]), ntohl(tokenBytes[2]),
                              ntohl(to媒体危机公关公司kenBytes[3]), ntohl(tokenBytes[4]), ntohl(tokenBytes[5]),
                              ntohl(tokenBytes[6]), ntohl(tokenBytes[7])];
        PushDemoLog(@">=ios13 My FINAL TOKEN is:%@", strToken);
        APN_TOKEN = strToken;
        return;
    } else {
        NSString *token = [NSString stringWithFormat:@"%@", deviceToken];
        token = [token stringByReplacingOccurrencesOfString:@"<" withString:@""];
        token = [token stringByReplacingOccurrencesOfString:@">" withString:@""];
        token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];
        PushDemoLog(@"My FINAL TOKEN is %@", token);
        APN_TOKEN = token;
    }
}

< font-size: 16px;">```

< font-size: 16px;">4.成功处理device token后将其作为入参获取华为推送服务Token:

< font-size: 16px;">```

< font-size: 16px;">NSString *apnsToken = @"yourApnsToken";
NSString *huaweiToken = [[HmsInstanceId getInstance] getToken:apnsToken];

< font-size: 16px;">```

< font-size: 16px;">更多应用开发步骤参见:

< font-size: 16px;">问题分享

< font-size: 16px;">接下来给大家分享一位开发者在论坛上提问关于苹果手机接入华为push的问题:“< font-size: 16px;">“

< font-size: 16px;">推送接口以access_token鉴权,如图:

< font-size: 16px;">获取access_token的接口,如图:

< font-size: 16px;">我的项目配置,不显示app secret,如图:

< font-size: 16px;">看安卓应用的配置,相同位置是有app secret的,如图:

< font-size: 16px;">

< font-size: 16px;">解决方法:

< font-size: 16px;">需要在相同项目下再建一个Android的应用,用Android应用的appId和appSecret去申请access_token就可以了。



< font-size: 16px;">那么,用安卓应用获取到access_token为苹果应用推送消息,是可以的吗?

< font-size: 16px;">答案依旧是——可以的!

接入华为推送用API给iOS应用发消息时如何获取a

上一篇:paypal的手续费是多少?paypal的提现时效是怎么样
下一篇:贝宝支付是什么?贝宝支付和paypal有什么区别?


版权声明:以上主题为“接入华为推送用API给iOS应用发消息时如何获取a"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    接入华为推送用API给iOS应用发消息时如何获取a
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“接入华为推送用API给iOS应用发消息时如何获取a”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通接入华为推送用API给iOS应用发消息时如何获取a的相关事宜。

关键词:接入华为推送用API给iOS应

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号