帮助与文档 > MyMaxSDK-iOS集成文档
MyMaxSDK-iOS集成文档1.0
一.iOS SDK介绍
MyMaxSDK是一个游戏化学习集成软件开发包,您无须自己在开发一个游戏化学习工具,MyMaxSDK让您的学习APP也拥有一颗游戏的心。
二.iOS SDK集成
SDK支持iOS8及以上iOS版本
您可以到官网下载MyMaxSDK-iOS
到此您已经下载好了SDK,下面开始学习SDK的集成使用吧!
三.iOS SDK目录讲解
解压MyMaxSDK-iOS后目录结构如下
MyMaxSDK-iOS
- config.json MyMaxSDK配置
- res MyMaxSDK资源
- MyMaxSDK.bundle MyMaxSDK资源
- MyMaxSDK.framework MyMaxSDK库
- IJKMediaFramework.framework 视频库(IJKPlayer)
- SGQRCode.bundle 二维码扫描资源
四.第三方库介绍
MyMaxSDK用到的第三方库:
- IJKMediaFramework.framework 视频库(IJKPlayer)
五.配置工程
导入SDK
将下载下来的MyMaxSDK-iOS拖入您的工程
如果拖入后项目中没有出现MyMaxSDK-iOS目录(多等一会文件比较大),找到您的项目中MyMaxSDK-iOS的目录重新导入SDK
接着删除MyMaxSDK-iOS中文件config.json和目录res的引用
重新导入文件config.json和目录res,在您的项目MyMaxSDK-iOS中找到文件config.json和目录res拖入工程MyMaxSDK-iOS下面
配置工程所需库和设置
配置info.plist
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSCameraUsageDescription</key>
<string>需要您的同意才能访问</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>需要您的同意才能访问</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
AppDelegate配置
//MyMaxSDK--如果不重写此方法--可能会出现打开其他应用后再回到本应用卡死
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
{
return YES;
}
//MyMaxSDK--如果不重写此方法--会影响任务中有些网页横竖屏效果
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return UIInterfaceOrientationMaskAll;
}
六.编译工程
以上步骤进行完后,编译工程。如果没有报错,恭喜你,集成 SDK 成功,可以进行下一步了。
七.上传AppStore
由于 iOS 编译的特殊性,为了方便开发者使用,我们将 i386 x86_64 armv7 arm64 几个平台都合并到了一起,所以包体比较大,上传appstore时可以将i386 x86_64两个平台删除
bak文件是备份目录,上传appstore之后需要替换回bak目录下的SDK
cd MyMaxSDK-iOS
mkdir ./bak
cp -r MyMaxSDK.framework ./bak
lipo MyMaxSDK.framework/MyMaxSDK -thin armv7 -output MyMaxSDK_armv7
lipo MyMaxSDK.framework/MyMaxSDK -thin arm64 -output MyMaxSDK_arm64
lipo -create MyMaxSDK_armv7 MyMaxSDK_arm64 -output MyMaxSDK
mv MyMaxSDK MyMaxSDK.framework/
rm MyMaxSDK_armv7
rm MyMaxSDK_arm64
八.iOS SDK基础功能
MyMaxSDKHelper接口
/*
@description 版本数字号
@param 无
@return 版本数字号
*/
+ (int)versionNumber;
/*
@description 版本字符串号
@param 无
@return 版本字符串号
*/
+ (NSString*)versionString;
/*
@description 设置accessToken (用于免登录到满满学堂)
@param token
@return 无
*/
+ (void)setAccessToken:(NSString*)token;
/*
@description 得到accessToken
@param 无
@return accessToken
*/
+ (NSString*)getAccessToken;
/*
@description 设置企业编码(每个企业预先定义好的编码)
@param companyCode企业编码
@return 无
*/
+ (void)setCompanyCode:(NSString*)companyCode;
/*
@description 得到企业编码
@param 无
@return 企业编码
*/
+ (NSString*)getCompanyCode;
/*
@description 得到项目id
@param 无
@return 项目id
*/
+ (int)getProjectId;
/*
@description sdk启动
@param projectId = 项目id(默认为0), 如果设置了项目id,sdk启动会直接进入项目
@return 无
*/
+ (void)start:(int)projectId;
/*
@description sdk停止
@param 无
@return 无
*/
+ (void)stop;
/*
@description 得到ViewController
@param 无
@return ViewController
*/
+ (MyMaxViewController*)getViewController;
/*
@description 移除web的cookies和caches(app登录前调用)
@param 无
@return 无
*/
+ (void)removeWebCookiesAndCaches;
/*
@description 移除本地的缓存(移除本地一些缓存文件)
@param 无
@return 无
*/
+ (void)removeLocalCaches;
九.iOS SDK快速集成
导入头文件
#import <MyMaxSDK/MyMaxSDK.h>
启动MyMaxSDK
//设置免登陆到满满学堂的accessToken和companyCode
[MyMaxSDKHelper setAccessToken:@"accessToken"];
[MyMaxSDKHelper setCompanyCode:@"companyCode"];
//启动满满学堂
[MyMaxSDKHelper start:0];
帮助与文档 > MyMaxSDK-Android集成文档
MyMaxSDK-Android集成文档1.0
一.Android SDK介绍
MyMaxSDK是一个游戏化学习集成软件开发包,您无须自己在开发一个游戏化学习工具,MyMaxSDK让您的学习APP也拥有一颗游戏的心。
Android SDK集成
SDK支持android4.4及以上android版本
您可以到官网下载MyMaxSDK-Android
到此您已经下载好了SDK,下面开始学习SDK的集成使用吧!
三.Android SDK目录讲解
解压MyMaxSDK-Android后目录结构如下
MyMaxSDK-Android
- Assets MyMaxSDK资源
- libs MyMaxSDK so库
- mymaxsdk.jar MyMaxSDK jar库
- MyMaxSDK.proj.android MyMaxSDK eclipse工程(eclipse集成引用)
- MyMaxSDK.proj.as MyMaxSDK AS工程(AS集成引用)
四.第三方库介绍
MyMaxSDK用到的第三方库:
视频库(IJKPlayer)
- libs/armeabi/libijkffmpeg.so
- libs/armeabi/libijkplayer.so
- libs/armeabi/libijksdl.so
- MyMaxSDK.proj.android/libs/ijkplayer-java.jar
- MyMaxSDK.proj.as/mymaxsdk/libs/ijkplayer-java.jar
二维码扫描库(zbar)
- libs/armeabi/libiconv.so
- libs/armeabi/libzbar.so
android-async-http框架库
- MyMaxSDK.proj.android/libs/android-async-http-1.4.8.jar
- MyMaxSDK.proj.as/mymaxsdk/libs/android-async-http-1.4.8.jar
android-support-v4
- MyMaxSDK.proj.android/libs/android-support-v4.jar
google内核包google-core-3.2.1
- MyMaxSDK.proj.android/libs/google-core-3.2.1.jar
- MyMaxSDK.proj.as/mymaxsdk/libs/google-core-3.2.1.jar
Gson 是google解析Json的一个开源框架
- MyMaxSDK.proj.android/libs/gson-2.8.0.jar
- MyMaxSDK.proj.as/mymaxsdk/libs/gson-2.8.0.jar
五.配置Eclipse工程
导入SDK
将下载下来的MyMaxSDK-Android中MyMaxSDK.proj.android导入您的eclipse
将下载下来的MyMaxSDK-Android中文件分三步复制到您的工程
- 将MyMaxSDK-Android/assets中下文件复制到您的工程assets下面
- 将MyMaxSDK-Android/libs下面armeabi复制到您的工程libs下面
- 将MyMaxSDK-Android/mymaxsdk.jar复制到您的工程libs下面
将MyMaxSDK工程依赖到您的工程
配置AndroidManifest.xml
可参考MyMaxSDK的AndroidManifest.xml
权限配置
<!--opengl版本-->
<uses-feature android:glEsVersion="0x00020000" />
<!--获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--用于访问wifi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--这个权限用于获取wifi的获取权限-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<!-- 请求网络 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 后台唤醒定位需要的权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--写入扩展存储,向扩展卡写入数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--读取缓存数据-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 更改设置 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- 震动-->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- CAMERA -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus"/>
application中增加下面字段
android:largeHeap="true"
配置activity
<!-- 配置libcocos2dlua.so -->
<meta-data android:name="android.app.lib_name"
android:value="cocos2dlua" />
<!-- ManManSDK AppActivity -->
<activity android:name="org.cocos2dx.lua.AppActivity"
android:screenOrientation="portrait"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustPan">
</activity>
<!-- ManManSDK 二维码扫描CaptureActivity -->
<activity
android:name="com.zbar.lib.CaptureActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="keyboardHidden|orientation|screenSize">
</activity>
六.配置AS工程
导入SDK
将下载下来的MyMaxSDK.proj.as中mymaxsdk模块导入您的AS
将下载下来的MyMaxSDK-Android中文件分三步复制到您的工程
- 在你的app模块下的src/main下新建一个文件夹assets,然后将MyMaxSDK-Android/assets下面的文件复制到您新建的app/src/main下面
- 将MyMaxSDK-Android/libs下面armeabi复制到您的工程app/libs下面
- 将MyMaxSDK-Android/mymaxsdk.jar复制到您的工程app/libs下面
配置build.gradle
在您的app的build.gradle新增如下配置
配置依赖mymaxsdk模块和mymaxsdk.jar
dependencies {
……
//mymaxsdk module
implementation project(':mymaxsdk')
//mymaxsdk.jar
implementation files('libs/mymaxsdk.jar')
……
}
配置jniLibs连接目录
android {
……
//jniLibs
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
……
}
配置AndroidManifest.xml
配置您的app下的AndroidManifest.xml,可参考mymaxsdk模块的AndroidManifest.xml
权限配置
<!--opengl版本-->
<uses-feature android:glEsVersion="0x00020000" />
<!--获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--用于访问wifi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--这个权限用于获取wifi的获取权限-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<!-- 请求网络 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 后台唤醒定位需要的权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--写入扩展存储,向扩展卡写入数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--读取缓存数据-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 更改设置 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- 震动-->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- CAMERA -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus"/>
application中增加下面字段
android:largeHeap="true"
配置activity
<!-- 配置libcocos2dlua.so -->
<meta-data android:name="android.app.lib_name"
android:value="cocos2dlua" />
<!-- ManManSDK AppActivity -->
<activity android:name="org.cocos2dx.lua.AppActivity"
android:screenOrientation="portrait"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustPan">
</activity>
<!-- ManManSDK 二维码扫描CaptureActivity -->
<activity
android:name="com.zbar.lib.CaptureActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="keyboardHidden|orientation|screenSize">
</activity>
七.编译工程
以上步骤进行完后,编译工程。如果没有报错,恭喜你,集成 SDK 成功,可以进行下一步了。
八.Android SDK基础功能
MyMaxSDKHelper接口
/**
* @description 得到版本数字号
* @param 无
* @return 版本数字号
*/
public static int versionNumber();
/**
* @description 得到版本字符串号
* @param 无
* @return 版本版本字符串号
*/
public static String versionString();
/**
* @description 设置accessToken (用于免登录到满满学堂)
* @param accessToken 第三方传过来的token
* @return 无
*/
public static void setAccessToken(String accessToken);
/**
* @description 得到accessToken
* @param 无
* @return accessToken
*/
public static String getAccessToken();
/**
* @description 设置企业编码(每个企业预先定义好的编码)
* @param companyCode 企业编码
* @return 无
*/
public static void setCompanyCode(String companyCode);
/**
* @description 得到企业编码
* @param 无
* @return 企业编码
*/
public static String getCompanyCode();
/**
* @description 得到项目id
* @param 无
* @return 项目id
*/
public static int getProjectId();
/**
* @description sdk启动
* @param activity 当前activity
* @param projectId = 项目id(默认为0), 如果设置了项目id,sdk启动会直 接进入项目
* @return 无
*/
public static void start(Activity activity, int projectId);
/**
* @description sdk停止
* @param 无
* @return 无
*/
public static void stop();
/**
* @description 移除web的cookies和caches(app登录前调用)
* @param activity 当前activity
* @return 无
*/
public static void removeWebCookiesAndCaches(Activity activity);
/**
* @description 移除本地的缓存(移除本地一些缓存文件)
* @param activity 当前activity
* @return 无
*/
public static void removeLocalCaches(Activity activity);
九.Android SDK快速集成
导入包
import org.cocos2dx.lua.MyMaxSDKHelper;
启动MyMaxSDK
//设置免登陆到满满学堂的accessToken和companyCode
MyMaxSDKHelper.setAccessToken(accessTokenInputText);
MyMaxSDKHelper.setCompanyCode(companyCodeInputText);
//启动满满学堂
MyMaxSDKHelper.start(activity, 0);