uniapp開發ios&android可拉起app的辛酸歷程
- IOS配置指南
- 1、登錄[apple Developer](https://developer.apple.com/account/resources/identifiers/list)賬戶找到自己開發的對應的項目
- 2、確保對應項目的Associated Domains是打開狀態
- 3、本地創建一個 apple-app-site-association 文件格式如下(無后綴名)
- 4、聯系公司網管(運營)將步驟3中的文件放到域名服務器根目錄下或者.well-known文件夾下以確保可以訪問
- 5、uni-app的manifest.json配置如下
- 總結
- ANDROID AppLink配置指南
- 1、 也需要配置一個assetlinks.json文件放在服務器上。確保可以訪問
- 2、manifest寫入如下配置
- 總結
- ANDROID Schema配置指南
- 修改manifest.json
IOS配置指南
1、登錄apple Developer賬戶找到自己開發的對應的項目
2、確保對應項目的Associated Domains是打開狀態
如果沒有打開則需要打開此配置,打開此配置后需要重新生成IOS應用構建打包所的profile文件才會使此配置生效 同時需要注意上面👆標記的appId和bundleId 后面會用到
3、本地創建一個 apple-app-site-association 文件格式如下(無后綴名)
{"applinks": {"apps": [],"details": [{"appID": "TEAM_ID.BUNDLE_ID","paths": ["/universal_links/*"]}]}
}
4、聯系公司網管(運營)將步驟3中的文件放到域名服務器根目錄下或者.well-known文件夾下以確保可以訪問
這里需要是https協議
網上資料有的說需要配置返回的application/type為json,有的又說不需要 可以都試下
5、uni-app的manifest.json配置如下
注意 不用帶協議 以applinks開頭
總結
至此 ios通用鏈接配置完畢,這里有一個大坑,如果上述步驟配置完成之后,用huildx打個包發布至蘋果testfight,必須在testfight下載此app后,在當前設備打開瀏覽器輸入,https://+放置配置文件的服務器+第三步中的app標識符后綴一步步來絕壁能成功 貼圖
ANDROID AppLink配置指南
1、 也需要配置一個assetlinks.json文件放在服務器上。確保可以訪問
[ { "relation": ["delegate_permission/common.handle_all_urls"],"target": {"namespace": "android_app","package_name": "com.example.myapp","sha256_cert_fingerprints": ["XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"]}}
]
relation是固定內容,namespace也是固定內容,package_name填自己app的包名,sha256填密鑰內容,每一個安卓app打包都需要.keyStore文件,密鑰從這里解析,解析方法不是本文的內容我就不東施尿頻了
2、manifest寫入如下配置
"intentFilters" : [{"action" : {"name" : "android.intent.action.VIEW"},"category" : {"name" : ["android.intent.category.DEFAULT","android.intent.category.BROWSABLE"]},"data" : [{"scheme" : "https","host" : "填入","pathPrefix" : "/填入app前綴"},]}],
action和category為固定搭配 data根據個人項目信息填入,
總結
嘿嘿 這個方式我沒有成功,構建打包后生成了 xxx.aab文件,可以在網上搜索資料將aab文件轉化成xxx.apk文件(這個也不是本文的范圍,故不贅述),在安卓設備上安卓此apk文件后打開瀏覽器輸入應用鏈接并沒有生效。(猜測可能ios是通過testfight下載處罰了某種機制,android是通過apk安裝的沒有觸發,但是也無從考證)別慌,uniapp安卓應用拉起我另有辦法
ANDROID Schema配置指南
修改manifest.json
Schema也可以用于拉起安卓app,同時也無需復雜的配置。只需要一行
在android打包配置下新增"schemes" : [ "abcdefg(diy鏈接)" ]
,修改后直接部署打包到安卓機器,然后運行另一個app應用,使用 plus.runtime.openURL('abcdefg://');
即可直接實現跳轉