Android: 渠道号获取
16lz
2021-01-26
前言:
游戏后期上线各个平台市场,需要接各自平台市场的SDK,而为了区别各个SDK,使用渠道号是个比较简单的方法。这里简单介绍下,使用方法过程。
Android 代码:
// 获取渠道号public static String getChannel(){ String channel = ""; try{ ApplicationInfo info = m_instance.getPackageManager(). getApplicationInfo(m_instance.getPackageName(), PackageManager.GET_META_DATA); if(info != null && info.metaData != null){ String metaData = info.metaData.getString("CP_CHANNEL"); if(!metaData.isEmpty()){ channel = metaData; } } }catch (PackageManager.NameNotFoundException e){ e.printStackTrace(); } Log.e(LOG_TAG, "当前渠道为:"+ channel); return channel;}// 获取 手机 Imeipublic static String getIMEI(){ TelephonyManager tm = (TelephonyManager)m_instance.getSystemService(TELEPHONY_SERVICE); return tm.getDeviceId();}
Manifest.xml:
在Application 里添加这句:
// value:是每次接SDK而在Manifext 配置的渠道号,如:百度:CP_BAIDU, 360:CP_QIHOO "CP_CHANNEL" android:value="CP_TENCENT"/>
Unity(C#) 代码:
/// /// 获取渠道名 /// /// 返回渠道名 public static string GetChannel() { #if(UNITY_ANDROID) AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); return jo.CallStatic("getChannel"); #endif return null; }
/// /// 获取设备IMEI /// /// 返回设备IMEI public static string GetIMEI() { #if(UNITY_ANDROID) AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic("currentActivity"); return jo.CallStatic<string>("getIMEI"); #endif return null; }
更多相关文章
- Android(安卓)Binder分析五:Java service的获取和调用
- Android(安卓)Weekly Notes Issue #257
- 处女apk纠结过的技术点
- android 多个cursor 的读取 和读取某个Cursor其他从集合中获取的
- Android调用Camera,获取预览帧中的图像
- 启动uiautomatorviewer后,点击获取模拟器的时候,出现Unable to con
- Android代码优化----PullToRefresh+universal-image-loader实现
- android 下载资源代码
- Android低版本sdk的getSupportedPreviewFrameRates实现