相關(guān)地址在文末
文章分為兩部分,一部分是工程的配置赴肚,一部分是Openinstall官網(wǎng)應(yīng)用后臺(tái)配置
Date :2019.11.22
Xcode 版本:Version 11.1 (11A1027)
Flutter版本:Channel stable, v1.9.1+hotfix.6
第一部分(Openinstall后臺(tái)應(yīng)用配置)
- 先要在官方網(wǎng)站注冊(cè)賬號(hào)剑肯,并創(chuàng)建應(yīng)用最欠,同步應(yīng)用的Bundle Identifier翠勉,Team Id
2.分別需要記錄平臺(tái)分配的AppKey,關(guān)聯(lián)域名埠居,scheme
3.上傳ipa包至平臺(tái)內(nèi)測(cè)地址
第二部分(flutter及Xcode工程配置)
1.創(chuàng)建flutter項(xiàng)目后并在.yaml文件中添加openinstall_flutter_plugin插件
openinstall_flutter_plugin: ^1.1.3
2.執(zhí)行flutter pub get安裝插件包到flutter工程
flutter pub get
3.創(chuàng)建 openinstall_flutter_plugin.dart文件
import 'dart:ffi';
import 'package:openinstall_flutter_plugin/openinstall_flutter_plugin.dart';
class OpenInstallTool {
String log;
bool get mounted => null;
OpeninstallFlutterPlugin _openinstallFlutterPlugin = new OpeninstallFlutterPlugin();
// 初始化插件
Future<void> initPlatformState() async {
if (!mounted) return;
_openinstallFlutterPlugin.init(wakeupHandler);
}
// 上傳報(bào)告注冊(cè)統(tǒng)計(jì)
void reportRegister() {
_openinstallFlutterPlugin.reportRegister();
}
// 埋點(diǎn)統(tǒng)計(jì)
void reportEffectPoint() {
_openinstallFlutterPlugin.reportEffectPoint("effect_test", 1);
}
// 喚醒回調(diào) (獲取web端傳過來的參數(shù)查牌,根據(jù)參數(shù)打開特定并展示數(shù)據(jù)頁(yè)面)
Future wakeupHandler(Map<String, dynamic> data) async {
return data;
}
// 獲取安裝統(tǒng)計(jì)回調(diào) (如邀請(qǐng)碼、游戲房間號(hào)等動(dòng)態(tài)參數(shù))
Future installHandler(Map<String, dynamic> data) async {
return data;
}
}
接下來要打開flutter工程目錄下的iOS工程文件,在AppDelegate文件中添加插件回調(diào)方法滥壕。
因?yàn)樵趂lutter該版本下纸颜,默認(rèn)生成的xcode的AppDelegate文件是swift形式的,所以要按照以下的方式修改
4.打開Runner->Runner->Runner-Bridging-Header.h橋接文件引入頭文件
#import <openinstall_flutter_plugin/OpeninstallFlutterPlugin.h>
5.打開AppDelegate.swift 文件添加回調(diào)方法
//swift4.2前
// web端以u(píng)niversal link形式拉起APP頁(yè)面時(shí)的回調(diào)方法
override func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool{
//判斷是否通過OpenInstall Universal Link 喚起App
if OpeninstallFlutterPlugin.continue(userActivity){
return true
}
//其他第三方回調(diào):
return true
}
參考下圖這里只添加了 大于iOS9版本的universal link形式的回調(diào)
以上就是代碼的基本配置,同時(shí)還需要在xcode工程里添加appkey,universal link,url schemes等參數(shù)绎橘,這些可以參考o(jì)peninstall的iOS集成文檔去設(shè)置
openinstall_flutter_plugin:https://pub.dev/packages/openinstall_flutter_plugin
Openinstall官方地址: https://www.openinstall.io
iOS端集成文檔:https://www.openinstall.io/doc/guide.html