微信sdk(universal link配置)升級(jí),微信未驗(yàn)證應(yīng)用,友盟分享sdk升級(jí),多項(xiàng)目同域名配置

寫在前面,如果你的app,已經(jīng)升級(jí)了微信和友盟的最新版,而且正確配置了universal link,分享到微信還是提示未驗(yàn)證應(yīng)用的話,就等一周左右吧(我們的app也是等了一周左右,未驗(yàn)證應(yīng)用才消失的。)。如果等不及,可以提交工單。(微信這個(gè)做的感覺真的很拉胯??)


最近在做新項(xiàng)目時(shí)發(fā)現(xiàn)微信的sdk從1.8.6版本開始,在registerApp的時(shí)候必須提供@param universalLink 微信開發(fā)者Universal Link,友盟分享的sdk在6.9.9版本也是需要提供配置universalLink,而且友盟也不在提供微信的精簡(jiǎn)版本。

網(wǎng)上已經(jīng)有很多,對(duì)于universalLink配置的教程,這里就不在做過多介紹。
我主要說下,一個(gè)公司有多個(gè)項(xiàng)目,用的同一個(gè)開發(fā)者賬號(hào)發(fā)布,在配置universalLink的情況。
比如我有兩個(gè)項(xiàng)目為:
bundleId: TEAM.com.red.company
bundleId: TEAM.com.blue.company

我兩個(gè)項(xiàng)目用的域名也是同一個(gè):
www.companyname.com

那我的apple-app-site-association文件可以這樣寫:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TEAM.com.red.company",
                "paths": [ "/app/red/wechat/*"]
            },
            {
                "appID": "TEAM.com.blue.company",
                "paths": [ "/app/blue/wechat/*"]
            }
        ]
    }
}

然后把這個(gè)apple-app-site-association文件,放在www.companyname.com的根目錄

在xcode - Associated Domains里面可以這樣寫(兩個(gè)項(xiàng)目都一樣):
applinks:www.companyname.com

在微信開放平臺(tái)后臺(tái)的配置分別是:
Universal Links:https://www.companyname.com/app/red/wechat/

Universal Links:https://www.companyname.com/app/blue/wechat/

配置完成之后,在手機(jī)備忘錄里面寫入這兩個(gè)鏈接:
www.companyname.com/app/red/wechat/
www.companyname.com/app/blue/wechat/
如果點(diǎn)擊能夠分別跳轉(zhuǎn)相對(duì)應(yīng)的app,就代表配置正確。


這里也說一下,友盟的新版sdk,需要在初始化微信平臺(tái)之前設(shè)置universalLinkDic

UMSocialGlobal.shareInstance()?.universalLinkDic = [UMSPlatformNameWechatSession : WXAPPLink]
UMSocialGlobal.shareInstance()?.universalLinkDic = [UMSPlatformNameWechatTimeline : WXAPPLink]
UMSocialGlobal.shareInstance()?.universalLinkDic = [UMSPlatformNameWechatFavorite : WXAPPLink]

可以試驗(yàn)分享到微信,然后點(diǎn)擊返回到app,如果能夠正確返回并且能夠拿到回調(diào),代表配置正確。

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        guard let url = userActivity.webpageURL?.description else {
            return true
        }
        print("ullink:" + url)
        if url.contains("wechat") {
            WXApi.handleOpenUniversalLink(userActivity, delegate: self)
        }
        
        return true
    }

目前只遇到微信平臺(tái)強(qiáng)制需要設(shè)置universalLink,如果以后還有其他平臺(tái)需要,應(yīng)該原理都是一樣的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容