当前位置: 代码迷 >> 综合 >> android_ 极光注册会生成相同注册ID的解决方法_011
  详细解决方案

android_ 极光注册会生成相同注册ID的解决方法_011

热度:63   发布时间:2024-02-20 01:28:01.0

  极光注册会生成相同注册ID的解决方法
一、极光不能接收到推送是因为不同设备注册生成了相同的注册ID
1、问题根本原因是两个设备拿到同个注册regid ,而拿到同个regid原因是因为极光SDK延迟拿到imei , mac地址又取不到,
但rom给的android id 一样,导致在mac地址拿不到的情况下根据Android id重复注册,从而使不同的设备拿到相同的注册
regid(android id 一样)。


二、解决方法有两种:
1、确认imei 拿到的情况下,先清掉之前的缓存,然后走注册。
2 、保证我们每台设备的Android ID 唯一性 ,或者用SN号替代Android ID ,这样需要极光特别给我们定制SDK。

 

三、以下是清理极光注册ID缓存的方法(极光官方文档未给出):

 public static String JIG_DEVICEID = Environment.getExternalStorageDirectory().getPath() + "/data/.push_deviceid";public static String JIG_GENERATED = "devcie_id_generated";public static String JIG_PROFILE = "cn.jpush.android.user.profile";/** 清理极光设备ID **/public static final void deleteJiguangDevice_id(Context ctx) {Log.d(TAG, "deleteJiguangDevice_id()");SharedPreferences sharedPreferences = ctx.getSharedPreferences(JIG_PROFILE, Context.MODE_MULTI_PROCESS);SharedPreferences.Editor editor = sharedPreferences.edit();editor.putString(JIG_GENERATED, "");editor.commit();}/***** 清理极光注册设备 ID缓存* * @param context [参数说明]* @return void [返回类型说明]*/public static void deleteJiGuanDevice_Regid(Context context) {Log.d(TAG, "deleteJiGuanDevice_Regid()");SharedPreferences sharedPreferences = context.getSharedPreferences(JIG_PROFILE, Context.MODE_MULTI_PROCESS);SharedPreferences.Editor editor = sharedPreferences.edit();editor.putString("device_registration_id", "");editor.commit();}/**** 清理极光缓存的IMEI 每次开机都清理* * @param context [参数说明]* @return void [返回类型说明]*/public static void deleteJiGuanDevice_Imei(Context context) {Log.d(TAG, "deleteJiGuanDevice_Imei()");SharedPreferences sharedPreferences = context.getSharedPreferences("cn.jpush.preferences.v2", Context.MODE_PRIVATE);SharedPreferences.Editor editor = sharedPreferences.edit();editor.putString("imei", "");editor.commit();}/***** 删除掉极光设备ID<功能描述>* * @param context [参数说明]* @return void [返回类型说明]*/public static void deleteJguangSettingDevice_id(Context context) {Log.d(TAG, "deleteJguangSettingDevice_id()");Settings.System.putString(context.getContentResolver(), JIG_GENERATED,"");}

 

  相关解决方案