aliyun / alicloud-android-demo

990 stars 550 forks source link

友盟推送和httpdns服务冲突 #215

Closed helixs closed 3 years ago

helixs commented 5 years ago

我应用启动时启动的友盟推送服务。我在后续的操作中要使用阿里云httpdns服务,怎么获取都是空,看了才知道umeng推送也用的是httpdns服务。我把umeng推送注释掉了,httpdns服务才能够正常使用。请问如何解决冲突的问题。谢谢

wlmxenl commented 4 years ago

遇到同样的问题 ...

SDK 中获取服务实例代码

public static HttpDnsService getService(Context var0, String var1, String var2) {
    if (instance == null) {
        Class var3 = HttpDns.class;
        synchronized (HttpDns.class) {
            if (instance == null) {
                HashMap var4 = new HashMap();
                var4.put(AMSSdkExtInfoKeyEnum.AMS_EXTINFO_KEY_VERSION.toString(), "1.1.3.1");
                AMSDevReporter.asyncReport(var0, AMSSdkTypeEnum.AMS_HTTPDNS, var4);
                k.setContext(var0);
                l.setContext(var0);
                com.alibaba.sdk.android.httpdns.a.b.a(var0);
                com.alibaba.sdk.android.httpdns.a.b.b(var0);
                s.a(var0);
                d.d(var1);
                o.a().a(var0);
                a.a(var2);
                instance = new HttpDns();
            }
        }
    }
    return instance;
}

如果将自己获取服务的实例写在友盟推送初始化前,会导致友盟使用的 httpdns 失效。

现在只能使用 http://203.107.1.33/{account_id}/d 这种方式了

new-xd commented 3 years ago

最新的httpdns 1.3.3版本已经支持多实例。 目前已经推送给友盟,但是升级时间未知。 应用自己解决这个问题,需要1. 手机集成umeng的jar、aar包,替换httpdns使用1.3.3版本