package com.gh.common import android.annotation.SuppressLint import com.gh.gamecenter.entity.AliasEntity import com.halo.assistant.HaloApp object PushManager { var deviceToken: String? = "" private var mPreviousAlias: AliasEntity? = null private var mApplication = HaloApp.getInstance().application const val SP_PUSH_ALIAS = "push_alias" @JvmStatic fun init(channel: String) { // tryWithDefaultCatch { // //初始化友盟推送 // UMConfigure.init(mApplication, Config.UMENG_APPKEY, channel, UMConfigure.DEVICE_TYPE_PHONE, Config.UMENG_MESSAGE_SECRET) // // val pushAgent = PushAgent.getInstance(mApplication) // // runOnIoThread { registerDevice() } // // // 注册小米、华为和魅族通道 // MiPushRegistar.register(mApplication, Config.MIPUSH_APPID, Config.MIPUSH_APPKEY) // HuaWeiRegister.register(mApplication) // MeizuRegister.register(mApplication, BuildConfig.MEIZUPUSH_APPID, BuildConfig.MEIZUPUSH_APPKEY) // // val aliasInSp = PreferenceManager.getDefaultSharedPreferences(mApplication).getString(SP_PUSH_ALIAS, "") // mPreviousAlias = aliasInSp?.toObject() // // if (mPreviousAlias == null) { // getAndSetAlias() // } // // // 完全自定义处理(透传) // pushAgent.setPushIntentServiceClass(GHUmengNotificationService::class.java) // } } private fun registerDevice() { // PushAgent.getInstance(mApplication).register(object : IUmengRegisterCallback { // override fun onSuccess(dToken: String) { // //注册成功会返回device token // deviceToken = dToken // getAndSetAlias() // Utils.log("deviceToken::$dToken") // } // // override fun onFailure(s: String, s1: String) { // Utils.log("deviceToken::" + "注册失败") // } // }) } @SuppressLint("CheckResult") @JvmStatic fun getAndSetAlias() { // if (deviceToken.isNullOrEmpty()) { // registerDevice() // return // } // // val meta = MetaUtil.getMeta() // // val jsonObject = JSONObject() // jsonObject.put("device_token", deviceToken) // jsonObject.put("imei", meta.imei) // jsonObject.put("android_id", meta.android_id) // jsonObject.put("model", meta.model) // jsonObject.put("manufacturer", meta.manufacturer) // jsonObject.put("os", meta.os) // jsonObject.put("os_version", meta.android_version) // jsonObject.put("mac", meta.mac) // jsonObject.put("gid", meta.gid) // // val body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString()) // // RetrofitManager.getInstance(mApplication).api.getAlias(body) // .subscribeOn(Schedulers.io()) // .subscribe( // { setAlias(it) }, // { it.printStackTrace() } // ) } @JvmStatic fun setAlias(alias: AliasEntity) { // val pushAgent = PushAgent.getInstance(mApplication) // // mPreviousAlias = alias // PreferenceManager.getDefaultSharedPreferences(mApplication).edit { // putString(SP_PUSH_ALIAS, mPreviousAlias?.toJson()) // } // // pushAgent.setAlias(alias.alias, alias.aliasType) { b, s -> // Utils.log("注册别名 $b + $s") // } } @JvmStatic fun deleteAlias() { // val pushAgent = PushAgent.getInstance(mApplication) // // mPreviousAlias?.let { // pushAgent.deleteAlias(it.alias, it.aliasType) { b, s -> // Utils.log("删除别名 $b + $s") // } // } // PreferenceManager.getDefaultSharedPreferences(mApplication).edit { // putString(SP_PUSH_ALIAS, "") // } // mPreviousAlias = null } }