117 lines
3.9 KiB
Kotlin
117 lines
3.9 KiB
Kotlin
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
|
|
}
|
|
} |