全部产品
云市场

deviceId 与 deviceToken 的概念及区别

更新时间:2019-09-10 10:03:19

device Id

  • deviceId 是推送系统中设备的唯一标识,是长度为 32 位的数字和小写字母的组合 ;
  • 在控制台或通过 OpenAPI 推送时,可以指定终端推送,即通过指定终端的 deviceId 推送 ;

在 SDK 初始化完成后,通过如下方式获取 deviceId :

Android 获取 deviceId

  1. CloudPushService pushService = PushServiceFactory.getCloudPushService();
  2. String deviceId = pushService.getDeviceId();

iOS 获取 deviceId

  1. NSString *deviceId = [CloudPushSDK getDeviceId];

deviceToken

  • deviceToken 为 iOS 设备向 APNs 注册推送通知服务时,返回的设备标识符,请不要同 deviceId 混淆。
  • 获取到 deviceToken 后,可调用 registerDevice 接口上报 deviceToken 到推送服务器,在上报成功回调中可获取到转换后的 deviceToken ,如下 :
  1. - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
  2. [CloudPushSDK registerDevice:deviceToken withCallback:^(CloudPushCallbackResult *res) {
  3. if (res.success) {
  4. NSLog(@"Register deviceToken success, deviceToken: %@", [CloudPushSDK getApnsDeviceToken]);
  5. } else {
  6. NSLog(@"Register deviceToken failed, error: %@", res.error);
  7. }
  8. }];
  9. }