一、安裝flutter環境 1、下載Flutter sdk包,地址:https://flutter.dev/docs/get-started/install/windows 2、將壓縮包解壓到任意文件夾 3、將flutter命令文件添加到環境變數中 4、在Android Studio中下載Flutt ...
一、安装flutter环境
1、下载Flutter sdk包,地址:https://flutter.dev/docs/get-started/install/windows
2、将压缩包解压到任意文件夹
3、将flutter命令文件添加到环境变量中
4、在Android Studio中下载Flutter和Dart插件
![1.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624104850.36546741184848126322213301503100:50530320020706:2800:0B08A9FE08F497C07A1283CCBE153F0831B4F1E062BD3A80EBC2A50F68D7E866.png)
二、开通服务&创建工程
在我的项目 下选择你的开发项目,在增长下面,找到应用内消息服务,点击开通,详细开通步骤请参考文档。
没有Android项目的话,可以先自己创建一个。
开通服务后我们就可以创建新的消息了。
1、首先点击右上角“添加应用内消息”
![2.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624104901.98935760935595653157636665085564:50530320020706:2800:89031DFCC2FFBA2C5E13B239F28B76E8FC6BAC23B006E3FCEFD5DF2EA8A9416E.png)
2、配置消息名称和消息描述。
![3.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624104910.91960567477244963321636566236183:50530320020706:2800:3C9A17D86FBE000EBDB9B677943050C788FB3214BA9C9A72205E04D3D5AC91F1.png)
3、设置样式和内容,完成后点击“下一步”。
在“消息种类”下拉框中选择需要创建的消息类型,然后设置对应的样式和内容。当前支持的消息类型包括:弹框消息、图片消息、Banner消息。
![4.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624104917.24186414191162404334586506825380:50530320020706:2800:F121D309369DE004473A80C6551BCB1EE5C887908CB3BC72E97D098DEF71B27C.png)
![5.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624104927.75404298078138496445974035627480:50530320020706:2800:282B9E0B5FF918275FBEC46FED726DE0B144C3DC6DA8FFBF5CE2BE20F83B91B6.png)
4、设置发送目标,完成后点击“下一步”。
a) 在“应用”栏选择需要发布应用内消息的应用包名。
b) 点击“新增条件”可以灵活设置消息发送的用户,例如应用版本、OS版本、语言、国家地区、受众群组等。其中,“用户属性”条件需要在“华为分析 -> 管理 -> 用户属性管理”中提前定义,“预测”条件需要在“我的项目->增长->预测”创建预测任务。
![6.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624104936.46177998190832424478195667727396:50530320020706:2800:975E2B027C483F24C27DFD77DCC5C5460C6077EE78039D34F68059E9E20760FE.png)
5、设置发送时间。
![7.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624104947.29082940025252781345689924629071:50530320020706:2800:98CBA107ABD660E1B69B64C81A9E787D7F4E66492E4078AECEE4B6A85BDC135A.png)
这里可以设置触发事件,除了默认的几个触发事件外还可以通过华为高级分析进行自定义,具体指导可以参考官方文档:
![8.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624104958.80702032631210374838082234571660:50530320020706:2800:E5102921DF381D458C6CE5EC69553CF404D7F4E8009500D0AE049286CCE9393B.png)
最后设置转化事件,这一步是可选的。在设置转化事件前,需要将对应事件的转化事件开关打开。操作步骤如下:
在左侧导航栏中选择“华为分析 > 管理 > 事件管理”,将需要转换的事件对应的“标记为转化事件” 和“事件开关”打开。除SDK自动采集的事件外,还可以通过新建“预置事件”或“自定义事件”进行埋点分析
6、最后点击保存或发布按钮就可以完成消息设置了
![9.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624105008.01092282044926494732625498137620:50530320020706:2800:D29433A6886EA8284B66B16CB47E3105A0EAA33BACDD4FBAB561CB71432CEEF9.png)
三、集成SDK
添加依赖
1、在Android Studio中新建Flutter工程
![10.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624105017.64620726774951694390809563107973:50530320020706:2800:E4F488A5C0CB1C3FFA2624B1D2B140BC581E3E80369794374FF3E51D8F7763BC.png)
2、将agconnect-services.json文件放入Android/app目录下
![11.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624105024.04190002839953353269026444030101:50530320020706:2800:6607C81D44445E4F48A7060DE9D25D80D7C5B44F07ABB81567772C56DD04C33C.png)
3、配置Maven仓地址和AGC插件地址。
①打开Flutter项目android文件夹下的build.gradle文件。
②在allprojects ->repositories里面配置maven仓地址。
③在buildscript->repositories中配置maven仓地址。
④在buildscript->dependencies中配置AppGallery Connect插件地址。
![12.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624105033.85438595171337114088115583097694:50530320020706:2800:EF5BBDFEE10092171AF9016175579B114C72A0963FEE40B83C4D2604DFD334DF.png)
4、添加编译依赖和AGC插件地址。
①打开Flutter项目android/app文件夹下的build.gradle文件。
②在文件中添加如下配置。
![13.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624105042.77693661919923977999669259314617:50530320020706:2800:8477340F55C53914BB13F26CBCDF1ACE44F7D6C596A1BC82B2D51F749F8603E0.png)
在pubspec.yaml文件中添加应用内消息的pub依赖
dependencies:
flutter:
sdk: flutter
agconnect_appmessaging: ^1.2.0+300
然后点击Pub get进行同步
接入功能
如果开发者对消息的样式等信息没有要求,那应用内消息完全可以0代码集成。但是应用内消息SDK还提供了自定义消息布局等功能供开发者使用。
四、设置自定义布局
首先我们需要找到Android模块的MainActivity,在onCreate中添加如下代码
AGCAppMessagingCustomEventStreamHandler.addCustomView();
这样我们就可以在dart中监控到消息的event,而后我们在dart中监听相应的event然后应用我们的自定义布局
这里我们监听到customevent后就可以直接展示我们所需要的dialog了
void _showDialog(BuildContext context, String content) {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
key: Key("dialog"),
title: Text("Result"),
content: Text(content),
actions: <Widget>[
FlatButton(
child: new Text("Close"),
onPressed: () {
Navigator.of(context).pop();
},
)
],
);
});
}
五、调试消息
1、在消息没有正式发布之前,我们可以对消息进行调试。调试需要获取调试设备的AAID。可以通过代码来获取这个AAID,但是由于目前只有Android的获取版本,所以我们需要将代码写在Android模块中
HmsInstanceId inst = HmsInstanceId.getInstance(this);
Task<AAIDResult> idResult = inst.getAAID();
idResult.addOnSuccessListener(new OnSuccessListener<AAIDResult>() {
@Override
public void onSuccess(AAIDResult aaidResult) {
String aaid = aaidResult.getId();
textView.setText(aaid);
Log.d(TAG, "getAAID success:" + aaid );
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
Log.d(TAG, "getAAID failure:" + e);
}
});
通过以上的方法我们就可以获取到这个AAID了,我们可以将这个参数保存下来,后续会使用到。
2、来到应用内消息管理台,找到刚刚我们创建的消息在操作一栏我们点击三个点的图标,找到调测
![14.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624105103.22470144497646209159681054086541:50530320020706:2800:C456A0F121F6BB7F4B9D77C9FF8E7138ACC390E5B5DABD0763CC87B32DB38E70.png)
3、点击“新增测试用户”然后将我们刚刚获取的AAID输入进去即可。
![15.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/150/224/722/0900086000150224722.20210624105112.35762168834787755727625460166177:50530320020706:2800:ACB6FF9B126A1FEC01CCF49B7A81D957FE671CCE39B356378F6A851B8B6D54FE.png)
4、最后点击保存测试即可。完成后我们就可以使用相应的手机进行消息调测了,消息将在应用打开后展示。
5、打包
与Android相同,只需要在Android Studio中点击运行即可
六、应用内消息服务开发指南: