從App直接開啟小程式
今天無意中瞭解到APP竟然可以直接開啟小程式這個功能,一致認為不可能啊,因為小程式是依靠微信,如果手機上微信沒有開啟,或者是沒有安裝微信會怎樣呢?一起探索吧!
步驟
1. 開啟微信開發者平臺文件 ,下載微信SDK。
2. 根據文件手動整合SDK
3.點選進入小程式程式碼:
WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object]; launchMiniProgramReq.userName = @"gh_fc392b7c02cf";//拉起的小程式的原始ID launchMiniProgramReq.path = @"";//拉起小程式頁面的可帶參路徑,不填預設拉起小程式首頁 launchMiniProgramReq.miniProgramType = WXMiniProgramTypePreview; //拉起小程式的型別 [WXApi sendReq:launchMiniProgramReq];
3.當小程式跳轉app時,會走onReq的代理方法(文件中說的是onResp的方法,很坑)。需要把req強轉成LaunchFromWXReq。其中WXMediaMessage下的messageExt才是小程式傳給我們的引數。
-(void)onResp:(BaseResp *)resp { if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]]) { WXLaunchMiniProgramResp*rep = (WXLaunchMiniProgramResp*)resp; NSString *string = rep.extMsg; NSLog(@"引數:%@",string); } }
注意:
1.檢視移動端與小程式是否在同一開發者平臺下(同一平臺下直接跳轉,不同平臺下需要關聯才能跳轉)

同一平臺

關聯
2.APP跳到小程式時報如下圖:

原因:因為APP暫未上架。
解決方案:我暫時選了一個上線的APP的Bundle id。
-
APP跳到小程式時報如下圖:
原因:因為用的是體驗版,所登的微信賬號無體驗許可權。
解決方案:管理員給該賬戶體驗許可權,用該小程式有體驗許可權的賬號測試。