内嵌问卷SDK-原生接入指南

快速上手

  1. 解压下载的定制发布压缩包

  2. 参看接入说明选择需要接入的平台

下载最新的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

最后更新于

这有帮助吗?