OPPO开放平台 应用评论调起能力接入指南

OPPO开放平台 应用评论调起能力接入指南

接入场景说明

接入OPPO软件商店的评论功能后,可以直接在本应用当前页面调起评论窗口,进行评分和评论,无须跳转至软件商店内。

效果示例:

功能优势

1、评分和评论会影响您的App在软件商店的排名,优质的评论以及较高的评分,有助于提升App在应用商店的排名。
2、优质的评论以及较高的评分,有助于激发用户下载的欲望,能有效提高自然下载量。
3、一键调起商店评论页面,降低用户评论成本,帮助您更方便高效地收集用户评论

跳转协议

oaps://mk/developer/comment?pkg={callerPkg}
参数说明:
pkg:要拉起评论的应用的包名,必须和调用商店的应用是同一个包名,否则无法拉起商店评论。
示例(游戏中心拉起其在商店的评论页的协议链接):
oaps://mk/developer/comment?pkg=com.nearme.gamecente

支持评论的商店版本

软件商店的版本号(versionCode) >= 84000。

详细使用方法

Android R(11) 应用包信息可见性适配

Android 从 R(11) 开始对获取应用包信息做了限制,官方适配文档链接
1)https://developer.android.com/preview/privacy/package-visibility#common-interactions

2)https://developer.android.com/training/basics/intents/package-visibility

兼容方案:(2个方式任意选择一个,推荐方案一)。

方式一(推荐):

在R上 需要在manifest添加标签(该方式,只获取软件商店信息)

<manifest package="com.example.xxxxx">
    ...
    <queries>
        <package android:name="com.heytap.market"/>
    </queries>
    ...
</manifest>


说明:
标签可能会编译不过,出现此问题请升级Android Studio 和 Gradle 插件:
1)Android Studio 3.6.1 或更高版本
2)最新版本的 Android Gradle 插件

方式二:

在manifest添加下申请如下权限:

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />

说明:
使用这种方式,后续Android版本可能会收紧这个权限的申请,存在被禁用风险。

代码调用

强调:为了使商店评论页面有盖在当前应用之上的效果,必须满足以下条件
1)Context 必须使用 Activity 对象。
2)Intent 不能使用 Intent.FLAG_ACTIVITY_NEW_TASK 这个Flag。

    private final static String PKG_MK_HEYTAP = "com.heytap.market";//Q之后的软件商店包名
    private final static String PKG_MK_OPPO = "com.oppo.market";//Q之前的软件商店包名
    private final static String COMMENT_DEEPLINK_PREFIX = "oaps://mk/developer/comment?pkg=";
    private final static int SUPPORT_MK_VERSION = 84000; // 支持评论功能的软件商店版本

    /**
     * 拉起评论页面。
     */
    public static boolean jumpToComment(Activity context) {
        // 此处一定要传入调用方自己的包名,不能给其他应用拉起评论页。
        String url = COMMENT_DEEPLINK_PREFIX + context.getPackageName();
        // 优先判断heytap包
        if (getVersionCode(context, PKG_MK_HEYTAP) >= SUPPORT_MK_VERSION) {
            return jumpApp(context, Uri.parse(url), PKG_MK_HEYTAP);
        }
        if (getVersionCode(context, PKG_MK_OPPO) >= SUPPORT_MK_VERSION) {
            return jumpApp(context, Uri.parse(url), PKG_MK_OPPO);
        }
        return false;
    }

    /**
     * 获取目标app版本号~
     *
     * @param context
     * @param packageName
     * @return 返回版本号
     */
    private static long getVersionCode(Activity context, String packageName) {
        long versionCode = -1;
        try {
            PackageInfo info = context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_META_DATA);
            if (info != null) {
                versionCode = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? info.getLongVersionCode() : info.versionCode;
            }
        } catch (PackageManager.NameNotFoundException e) {
        }
        return versionCode;
    }

    private static boolean jumpApp(Activity context, Uri uri, String targetPkgName) {
        try {
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.addCategory(Intent.CATEGORY_DEFAULT);
            intent.setPackage(targetPkgName);
            intent.setData(uri);
            // 建议采用startActivityForResult 方法启动商店页面,requestCode由调用方自定义且必须大于0,软件商店不关注
            context.startActivityForResult(intent, 100);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }


建议:
1)使用Activity做为context,并且调用Activity.startActivityForResult方法拉起商店,这样更安全。
2)如果使用startActivityForResult方法拉起商店,requestCode >0 并且 intent 不能设置Intent.FLAG_ACTIVITY_NEW_TASK这个flag。

OPPO开放平台应用认领流程

应用认领流程

何为应用认领

如果您发现您的应用已经在OPPO软件商店上架或在上传应用时提示应用已存在,但您或您的团队从未在OPPO开放平台上传该应用,那么您可以通过认领的方式来领取应用的管理维护权。认领成功后,该应用会自动转入您的帐号下。

应用认领价值

认领对于app的整体量不会有影响,重新上传不会影响之前的下载量及评论量。但是如果您不认领,就无法统计出不同渠道的转化率和渠道质量。

不认领一方面不能对已有渠道进行很好的监测,另一方面无法享受到平台的福利活动,比如至美应用、活动推荐等。OPPO开放平台一直把开发者的利益放在首位,后续我们会不断加大对开发者的扶持力度,真诚希望您能成为我们的一员,携手共同前行。

应用认领流程

进入OPPO开放平台官网-管理中心-应用服务平台,点击移动应用认领(合作的游戏不允许认领);

输入应用包名

输入想要认领的APP的包名(包名请与贵公司技术人员确认),前后不能有空格, 然后点击搜索;

该情况为其他开发者帐号创建未发布状态,不可认领,具体可咨询客服包名归属的帐号;如无法确认,建议更换包名创建发布。

下载签名空包

按照下图指引下载签名空包,请开发把空包打上和认领APP一样的签名;请仔细阅读签名文件获取方法,保持签名空包一致,审核通过率越高;签名文件获取方法:(开发人员阅读资料

上传版本证明

此处上传APP的版权证明,建议提交《计算机软件著作权登记证书》、著作权人授权书等。证书越齐全审核通过率越高。著作权人授权书获取方法(开发人员阅读资料)

审核

提交审核后,就会看到认领记录中的状态,您可以随时查看到审核的结果和不通过的原因。应用认领的处理周期是1-2个工作日,如遇特殊情况,您可以联系在线客服帮您加急处理。