内嵌问卷SDK-原生接入指南
快速上手
解压下载的定制发布压缩包
参看接入说明选择需要接入的平台
下载最新的SDK
在 Release 中找到最新版本 ,releases
下载附件 imursurvey_popupview_native.zip
默认构建 iOS 未开启 BITCODE,Android 默认剔除 X5_SDK ,如有问题,请线下联系出包
压缩包目录结构如下
Assets
├── Plugins
│ ├── Android
│ │ ├── SurveyPopupView.aar
│ │ └── SurveyPopupView.aar.meta
│ ├── Android.meta
│ ├── iOS
│ │ ├── SurveyPopupView.framework
│ │ └── SurveyPopupView.framework.meta
│ └── iOS.meta
接入说明
Android项目集成
1、从解压的文件夹Assets/Plugins/Android目录下把SurveyPopupView.aar复制到android工程代码根目录下的app/libs目录中

2、检查build.gradle文件中的dependencies是否有包加载配置,如没有请添加一下代码:
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])

3、由于问卷的sdk依赖x5,请检查proguard-rules.pro文件中有添加以下混淆配置:
-keep class com.tencent.imur.** { *; }
-keep class com.tencent.smtt.** { *; }

IOS项目集成
1、打开xcode,从解压的文件夹Assets/Plugins/IOS目录下把SurveyPopupView.framework拖拽或者File → Add Files to xxx 添加到到ios工程代码根目录下

2、在TARGET的General配置下启用framework的集成:

确保Build Settings下Runpath Search Paths能找到改framework:

3、运行,正常情况下能编译通过。
Android API
sdk对外的API在com.tencent.imur.survey.IMurSurveyAdapter类中,主要API说明:
1、打开问卷弹窗
import android.app.Activity;
import com.tencent.imur.survey.IMurSurveyAdapter;
Activity app = this; // 打开弹窗需要的activity
String surveyID = ""; // 问卷SID
String urlParams = "; // 登陆态等信息
IMurSurveyAdapter.openSurvey(app, surveyID, urlParams);
urlParams参数请参考下方【打开问卷弹窗参数】
2、设置问卷参数
import com.tencent.imur.survey.IMurSurveyAdapter;
import org.json.JSONObject;
JSONObject conf = new JSONObject();
conf.put("", true);
String configJson = conf.toString();
IMurSurveyAdapter.setSurveyConfig(configJson);
surveyConfig参数请参考下【问卷配置参数】
3、关闭问卷弹窗
import com.tencent.imur.survey.IMurSurveyAdapter;
IMurSurveyAdapter.close();
一般不需要使用,因为问卷本身的弹窗有关闭功能。
IOS API
导入 SurveyPopupView.framework 之后,通过 `#import <SurveyPopupView/SurveyPopupView.h>` 方式引入头文件,SurveyPopupView 会暴露 3 个主要的静态方法。
1、打开问卷弹窗
#import <SurveyPopupView/SurveyPopupView.h>
[SurveyPopupView openSurvey:@"6486e8655e4f942e4507f9e3" params:@"openid=xxx&info=xxx"];
params参数请参考下方【打开问卷弹窗参数】
2、设置问卷参数
#import <SurveyPopupView/SurveyPopupView.h>
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[@"surveyEnv"] = @"oversea";
// 将 NSMutableDictionary 转换成 JSON 数据
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
options:0 // 没有特殊的格式化选项
error:&error];
if (!jsonData) {
NSLog(@"JSON 序列化错误: %@", error);
} else {
// 将 JSON 数据转换成 NSString
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
[SurveyPopupView setSurveyConfig:jsonString];
}
setSurveyConfig 参数请参考下【问卷配置参数】
3、关闭问卷弹窗
#import <SurveyPopupView/SurveyPopupView.h>
[SurveyPopupView close];
一般不需要使用,因为问卷本身的弹窗有关闭功能。
打开问卷弹窗参数
参数
说明
格式
示例
surveyId
问卷sid
问卷投放链接中的sid参数的值
6350b6a987ee34f6e6025c02
urlparams
url query (非必填)
参数名1=参数值 & 参数2=参数值 & …
openid=xxx&info=xxx
开发者通过urlparams,实现登录态传递和其他参数传递,部分参数可存储到问卷系统中,部分参数仅做回调透传。
参数
说明
数据使用方式
openid (登录验证时必填)
登录用户的唯一id
存储到问卷中,用户ID
channel
用户自定义渠道,例如wx/qq等,记录到答题数据中
存储到问卷中,用户ID渠道
info
额外的登录用户信息,可自定义。info值会记录到答题数据中的“自定义内容”字段。
存储到问卷中,自定义内容列
source
用户自定义渠道标识,例如wx/qq等(仅在回调参数中返回,如需记录到答案,请使用channel)
回调使用,不存储
callback_params
开发者自定义回调参数,业务需要额外的参数则可以使用
回调使用,不存储
问卷配置参数
配置详细列表:
参数
说明
默认值
primaryColor
主题色,最后两个字符表示 alpha 通道
#18C68AFF
bgColor
背景色,最后两个字符表示 alpha 通道
#FFFFFFFF
loadingColor
loading指示条的颜色
#FFFFFFFF
defaultTitle
sdk标题
MUR Survey
loadingFailedText
加载失败的文案
问卷内容加载失败
closeText
关闭按钮文案
关闭
loadingText
加载中的文案
内容加载中...
popupHeightRatio
弹窗高度相对于屏幕的高度占比
0.85
mask
是否显示遮罩
false
最后更新于
这有帮助吗?