‹ Amazon Doc Home

Amazon Appstore 集成指南

For the Lua version of cocos2d-x v3.x - (all other versions)

前提条件

提示:

当您使用 Amazon 插件时,必须安装 IAP 插件以使它能够正常运行。

集成

用如下命令来集成 SDKBOX Amazon 插件,请确保您可以正常执行的 SDKBOX 安装器.

$ sdkbox import amazon
$ sdkbox set store amazon

额外步骤

下面的步骤说明都是在假设您已经注册成功 Amazon 开发者帐号并且在其开发者平台创建了一个新的游戏工程的前提下。

配置 Android

<meta-data android:name="store" android:value="amazon" />

提示:如果您在其他应用商店提交了 apk 包,比如 Google Play, 请删除这行配置或者设置 store 的值为 googleplay。比如:<meta-data android: name="store" android:value=“googleplay" />

$ sdkbox set store googleplay

JSON 配置

SDKBOX Installer 将会自动在您的 sdkbox_config.json 中插入一份配置样例。请修改这份配置样例,使其能用于您自己的 app 。

这里有一个添加了 Amazon 商店的例子:

{
    "ios":
    {
    },
    "android":
    {
    },
    "amazon" :
    {
        "iap":
        {
            "items":{
                "remove_ads":{
                    "id":"com.cocos2dx.non1",
                    "type":"non_consumable"
                },
                "double_coin":{
                    "id":"com.cocos2dx.non2",
                    "type":"non_consumable"
                },
                "coin_package":{
                    "id":"com.cocos2dx.plugintest2"
                },
                "coin_package2":{
                    "id":"com.cocos2dx.plugintest3"
                }
            }
        }
    }
}

如何测试

更多的细节请访问:https://developer.amazon.com/public/apis/earn/in-app-purchasing

混淆 (release, 可选)

proguard.config=proguard.cfg
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# cocos2d-x
-keep public class org.cocos2dx.** { *; }
-dontwarn org.cocos2dx.**
-keep public class com.chukong.** { *; }
-dontwarn com.chukong.**

# google play service
-keep public class com.google.android.gms.** { public *; }
-dontwarn com.google.android.gms.**

-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

#sdkbox
-keep public class com.sdkbox.** { *; }
-dontwarn com.sdkbox.**

#amazon
-dontwarn com.amazon.**
-keep class com.amazon.** {*;}
-keepattributes *Annotation*

https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs/code-obfuscation

注意: 混淆只在 Release 模式下有效 (比如 cocos run -m release), 在 debug 模式下,不会调到混淆规则.