你可以找到這個過程中,從分公司的亞歷克斯·奧斯汀,在此博客中詳細介紹:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/
這裏是鍵位:
第2部分:配置您的蘋果應用程序站點關聯文件
Universal Links將您的網站URL變成應用程序鏈接,因此您需要運行Web服務器以利用它們。爲了幫助完成此過程,請使用我們的通用鏈接驗證器來檢查您的apple-app-site-association文件是否已正確配置。
選擇一個域
首先,確定你想使用你的通用鏈接的域名。您可以註冊一個新的或使用現有的。如果註冊一個新的,我們更喜歡使用乾淨,非垃圾的註冊商,如ghandi.net。
採集SSL認證
您需要獲得SSL認證文件,你會用來託管通用鏈接域。爲了做到這一點,您需要使用第三方服務爲您的域名註冊SSL,並創建您需要的文件。環顧四周後,我們選擇了Digicert來處理branch.io和相關的子域。
這裏是創建你的SSL認證的步驟:
- 訪問https://www.digicert.com/easy-csr/openssl.htm並在頂部生成OpenSSL的命令填寫表格。保持這個窗口打開
- 登錄到遠程服務器
- 執行OpenSSL命令生成證書籤名請求(.csr文件)和認證文件(.cert)在https://www.digicert.com/welcome/ssl-plus.htm
- 等待
- 支付您的SSL認證爲Digicert批准並向您發送最終文件
- 最後,將yourdomain.com.cert,yourdomain.com.key和digicertintermediate.cert移動到遠程服務器上的同一目錄中 創建您的apple-app-site-協會JSON
這個JSON文件有一個非常標準的結構,所以你基本上可以複製這個版本並編輯它以適應你的需要。我會分解下面的正確值。「R63EM248DP.io.branch.TestBed-雨燕」:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "R63EM248DP.io.branch.TestBed-Swift",
"paths": [
"NOT /e/*",
"*",
"/"
]
}
]
}
}
您需要更改的唯一字段關聯。這實際上是兩個值加在一起的時期。這兩個值都可以在標識符 - >應用程序ID部分的developers.apple.com上找到。只需點擊相應的註冊應用程序ID。
在此示例中,將前綴和ID連同一個句點連接起來,使其看起來像這樣:「R63EM248DP.io.branch.TestBed-Swift」。 將此JSON文件另存爲apple-app-site-association-unsigned。
註冊JSON文件與您的SSL證書
注意:如果你有你的認證域HTTPS,你可以跳過這一步,並以明文發送JSON。
將您的服務器上的apple-app-site-association-unsigned文件上傳到與前面步驟中的證書和密鑰文件相同的目錄中。使用命令行,改變目錄到該文件夾併發出以下命令:
cat apple-app-site-association-unsigned | openssl smime -sign -inkey yourdomain.com.key -signer yourdomain.com.cert -certfile digicertintermediate.cert -noattr -nodetach -outform DER > apple-app-site-association
這將生成文件蘋果的應用程序站點關聯
配置文件服務器
好吧!所以你有你的簽名apple-app-site-association文件。現在你只需要配置你的文件服務器來爲你託管。有幾個注意事項:
- 它必須與頭「應用/ PKCS7-MIME」發送
- 它必須從端點發送youdomain.com/apple-app-site-association
- 它必須返回一個200的http代碼。
我們使用Node + Express鏈接服務器爲所有Branch集成應用程序設置了一個。下面是我們的情況下使用的代碼,這是有幫助的:
var aasa = fs.readFileSync(__dirname + '/static/apple-app-site-association');app.get('/apple-app-site-association', function(req, res, next) {
res.set('Content-Type', 'application/pkcs7-mime');
res.status(200).send(aasa);
});
同樣,你能避免所有的JSON託管和SSL證書的工作,只需使用分行鏈接到主機給你。 快樂鏈接!