1 添加SDK提供的资源文件
将“单机\sdk\u3d”中的文件Copy到Assets\Plugins\Android\
1) 将游戏AndroidManifest.xml文件的application中添加由易接提供如下代码,可参考“单机\sdk\ AndroidManifest.xml "
<activity
android:name="com.snowfish.cn.ganga.offline.helper.SFGameSplashActivity"
android:theme="@android:style/Theme.Translucent"
android:screenOrientation="sensor"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.snowfish.a.a.s.PA"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="stateHidden">
</activity>
<service
android:name="com.snowfish.a.a.s.ABGSvc"
android:enabled="true">
<intent-filter>
<action android:name="com.snowfish.a.a.s.ABGSvc"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
<meta-data
android:name="com.snowfish.appid"
android:value="KEY">
</meta-data>
<meta-data
android:name="com.snowfish.customer"
android:value="SNOWFISH">
</meta-data>
<meta-data
android:name="com.snowfish.channel"
android:value="SNOWFISH">
</meta-data>
<meta-data
android:name="com.snowfish.sdk.version"
android:value="1">
</meta-data>
<activity
android:name="com.snowfish.cn.ganga.offline.helper.SFGameSplashActivity"
android:theme="@android:style/Theme.Translucent"
android:screenOrientation="sensor"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.snowfish.a.a.s.PA"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="stateHidden">
</activity>
<service
android:name="com.snowfish.a.a.s.ABGSvc"
android:enabled="true">
<intent-filter>
<action android:name="com.snowfish.a.a.s.ABGSvc"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
<meta-data
android:name="com.snowfish.appid"
android:value="KEY">
</meta-data>
<meta-data
android:name="com.snowfish.customer"
android:value="SNOWFISH">
</meta-data>
<meta-data
android:name="com.snowfish.channel"
android:value="SNOWFISH">
</meta-data>
<meta-data
android:name="com.snowfish.sdk.version"
android:value="1">
</meta-data>
标红处的KEY值需要替换成易接CP后台分配的APPID,格式如下:{12345678-12345678}。
此外,以下activity由Unity3d提供,作为入口activity,请参考demo。
具体使用请根据游戏实际情况;
com.unity3d.player.UnityPlayerProxyActivity
com.unity3d.player.UnityPlayerActivity
com.unity3d.player.UnityPlayerNativeActivity
2) 修改启动Activity,在AndroidManifest.xml中的主入口Activity配置为com.snowfish.cn.ganga.offline.helper.SFGameSplashActivity。
游戏原来的主入口Activity请添加到res/values/strings.xml中的sf_class_name字符串中,使得启动完成后即启动游戏
例如:
<string name="sf_class_name">com.yijie.cn.sdk.demo.MainActivity</string>
3) 添加SDK需要的use-permision将游戏的AndroidManifest.xml中添加use-permision如下,可参考“单机\sdk\ AndroidManifest.xml "
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
4) 修改Applicatiion
a) 若无自定义Applicatiion,则修改AndroidManifest.xml的Application如下:
<application android:name="com.snowfish.cn.ganga.offline.helper.SFOfflineApplication"/>
b) 若开发者自定义的Application。则自定义Application需要继承com.snowfish.cn.ganga.offline.helper.SFOfflineApplication,
AndroidManifest.xml修改如下:
<application android:name="自定义Application"/>
2 在游戏初启动界面,调用接口(必选接口)
[DllImport ("libsfunityoffline")]
private static extern void onInit(IntPtr context);
参数:currentActivity
调用该接口完成SDK计费流程需要的信息。该接口需在游戏一启动时调用。
调用示例见SDK提供Demo中的APaymentHelperDemo。
3 在游戏启动后,判断用户是否开启音效接口(必选接口)
[DllImport ("libsfunityoffline")] private static extern intisMusicEnabled(IntPtr context);
判断SDK是否需要打开游戏声音,目前只有移动基地需要此接口
参数名称 |
类型 |
注释 |
context |
IntPrt |
上下文Activity |
返回值: 0 关闭, 1 开启
游戏开发者需要根据该返回值,设定游戏背景音乐是否开启。
调用示例见SDK提供的Demo脚本APaymentHelperDemo。
4 在游戏需要弹出计费界面的场景调用计费接口(必选接口)
[DllImport ("libsfunityoffline")]
private static extern void pay (IntPtr context,
string id, string gameObject, string runtimeScriptMethod);
该接口用于定额支付的接口函数。合作伙伴在需要使用定额支付的时候使用该接口
参数名称 |
类型 |
注释 |
context |
IntPrt |
上下文Activity |
id |
string |
计费点索引 |
gameObject |
string |
游戏场景中的对象,SDK内部完成计费逻辑后, |
runtimeScriptMethod |
string |
支付监听函数,隶属于gameObject对象的 |
支付回调:
名称 |
值 |
注释 |
PayResult. SUCCESS |
"0" |
支付成功 |
PayResult. FAILURE |
"1" |
支付失败 |
PayResult. CANCELED |
"2" |
支付取消 |
调用示例见SDK提供的Demo脚本APaymentHelper.cs。
5 更多游戏接口
[DllImport ("libsfunityoffline")]
private static extern void viewMoreGames(IntPtr context);
参数:currentActivity
调用该接口查看更多游戏。
调用示例见SDK提供的Demo脚本
6 游戏退出接口(必选接口)
在游戏退出的时候调用
[DllImport ("libsfunityoffline")]
private static extern void onExit(IntPtr context);
[DllImport ("libsfunityoffline")]
private static extern void onExitWithUI(IntPtr context);
前者主要是释放SDK的资源,无退出确认界面
后者在前者的基础上含有退出确认界面。
调用示例见SDK提供的Demo脚本APaymentHelperDemo。