目前中國正在推廣各種小程序
因為不用透過Appstore/Play Store審核
等於一般app送審的時間大大縮短
(例如微信小程序幾乎半天、一天就能審過)
並且使用者不需要安裝程式即可使用
某些輕量化的企業推廣app就開始提倡使用
只能說蘋果大開方便之門的下場
總之既然想要改變戰場
就會想引導iOS app user去微信裡看看
今天我們來講要怎麼在iOSapp裡跳轉到微信小程序吧
一、結果示範
iOS app的畫面
點擊拉起小程序後
進入微信並且自動開啟某個你指定的小程序
先研究了一下官方的相關文件
簡單講就是使用WechatOpenSDK沒錯
但是這邊有一些比較容易忽略的地方
二、Swift 怎麼使用WechatOpenSDK?
SDK本身是用objC寫的,
不管你用cocoapods安裝
或是直接把API整包丟進你的iOS APP裡都需要再處理
我是使用cocoapods安裝 (pod 'WechatOpenSDK')
除此之外因為我整個專案主要是用Swift寫
所以還需要橋接
一個最快的方法就是隨便新增一個Cbjective-C file
這樣Xcode就會主動問要不要新增一個橋接檔案
最後留下 "專案名稱-Bridging-Header.h" 這個檔案就好
其他不必要的可以刪掉
檔案裡我是這樣寫的
#import "WXApi.h"
#import "WXApiObject.h"
至此,應該要能在各個.swift檔裡
不需要 import module就能使用 WXApi囉
三、程式碼
在AppDelegate裡register App Id (類似wxooooooooooooo那串) *註一
WXApi.registerApp("wxd930ea5d5a258f4f") //官方測試用的App Id
let launchMiniProgramReq = WXLaunchMiniProgramReq.object()
launchMiniProgramReq.userName = "gh_xxxxxxxxxxxxxx" //想打開的小程序原始Id *註二
launchMiniProgramReq.path = "" //路徑決定打開頁面,預設是首頁
launchMiniProgramReq.miniProgramType = .release //版本
//WXMiniProgramTypeRelease = 0, //**< 正式版 */
// WXMiniProgramTypeTest = 1, //**< 开发版 */
// WXMiniProgramTypePreview = 2, //**< 体验版 */
WXApi.send(launchMiniProgramReq)
四、必要與非必要條件
這個地方很玄,
SDK接入指南裡有很多官方建議的手續其實是非必要的
但我猜可能官方介紹的比較籠統,
只需要"跳轉小程序"這個功能
不一定會全部條件都需要達到
以下介紹
*註一 必要
在程式端register App Id之前你必須
1. 在微信開放平台上關聯你的ios app bundle ID和wechat app ID
btw這裡指的微信開放平台跟公眾平台不一樣
像公司帳號我就有權限進後者沒有權限進前者QQ
但這個地方很妙,
因為只要iOS app bundle ID 和 wechat app ID有對上就好
之後跳轉去哪個小程序都沒問題
所以wechat app ID不一定要用你的小程序的!!!
所以練習的時候其實可以偷偷借用官方的這組
官方 iOS app bundle ID
官方 wechat app ID
wxd930ea5d5a258f4f
*註二 必要
所謂的原始ID並非你在Wechat專案裡看到的app ID
而是登入Wechat公眾平台才拿得到
實測必要手段只有以上。
非必要
info.plist裡面新增以下
非必要
Target-Info-新增URL Types
猜測應該是其他例如金流等等method會需要
但目前用不到就先研究到此。
(寫小程序讓你鴨梨好大?香港德州撲克給你好好玩)
以上,希望可以幫助到路過的你
如果有其他問題的話也可以留下留言 :)
留言列表