首页 > 其他分享 >Android/iOS 应用内评价功能

Android/iOS 应用内评价功能

时间:2024-06-01 14:57:23浏览次数:20  
标签:应用 void iOS listener context 评价 Android

应用内评价,即 应用中就能拉起 对应商店的对应App的评价窗口,而无需用户到商店App内评价

目前整理到 有应用内评价功能的平台:

  • Android-GooglePlay
  • iOS-AppleStore

Android-GooglePlay 应用内评价

应用内评价表现-Android-GooglePlay

public interface GooglePlayFlowListener {
    void OnCompleteListener();
    void one rrorListener();
}

/**
 * 拉起 GooglePlay应用内评价
 *
 * @param context  context
 * @param listener listener
 */
public static void ShowGooglePlayReview(@NonNull Activity context, GooglePlayFlowListener listener) {
    ReviewManager manager = ReviewManagerFactory.create(context);
    Task<ReviewInfo> request = manager.requestReviewFlow();
    request.addOnCompleteListener(task -> {
        if (task.isSuccessful()) {
            ReviewInfo reviewInfo = task.getResult();
            Task<Void> flow = manager.launchReviewFlow(context, reviewInfo);
            flow.addOnCompleteListener(task1 -> {
                if (listener != null) {
                    listener.OnCompleteListener();
                }
            });
        } else {
            // There was some problem, log or handle the error code.
            //@ReviewErrorCode int reviewErrorCode = ((TaskException) task.getException()).getErrorCode();
            if (listener != null) {
                listener.OnErrorListener();
            }
        }
    });
}

弹出限制:

  • Development包、轨道包都可能弹,次数不一
  • Store正式包大约 1~2次/每月;已评价过可能就不会再弹

iOS-AppleStore 应用内评价

应用内评价表现-iOS-AppleStore

#import <StoreKit/StoreKit.h>

///拉起 AppleStore应用内评价(iOS=10.3+适用)
void ShowAppleReview()
{
    if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {
        //拉起应用内评价
        [SKStoreReviewController requestReview];
    } else {
        //设备/系统不支持应用内评价
    }
}

弹出限制:

  • Development包可以每调必弹
  • TestFlight包不会弹
  • Store正式包大约 3次/每年;已评价过可能就不会再弹

参考文章:

综述

应用内评价方法,开发者业务层可以无限制调用,但最终用户层是否能看到,得看 对应商店的限制条件(一旦被限制了,用户看不到、商店端也不会告知开发者业务层)

因为弹出限制条件的存在,所以建议开发者 合理规划弹出机会

标签:应用,void,iOS,listener,context,评价,Android
From: https://www.cnblogs.com/SouthBegonia/p/18225968

相关文章

  • Axios请求失败重试实现
    代码实现//request.tsimportaxios,{AxiosRequestConfig}from"axios";//自定义ReuqestConfiginterfaceRetryConfgextendsAxiosRequestConfig{retry:number,retryDelay:number,retryCount?:number;}//创建请求实例constrequest=axios.......
  • AndroidStudio资料
    AndroidStudio导入jar包  Switch语句报错Constantexpressionrequired   AndroidStudio中怎样引用图片资源   新版本Logcat使用详解java反编译jar包并修改class重新打包   Jar包反编译后修改源码再编译java.lang.NoClassDefFoundError:Failedresolutionof:......
  • 50.Android网络编程的补充
    主要分为三点补充1.get和post方式请求访问网络记得一定要处理异常packagecom.example.four_content;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;importjav......
  • Android Studio 已经安装 NDK ,但是软件提示找不到。
    AndroidStudio已经安装NDK,但是软件提示找不到。推荐安装win11android-studio-ide-192.6392135-win64jdk-8u381-windows-x64.exeNDKversionis20.0.5594570提示找不到ndk解决办法:在GradleScripts下面的local.properties文件中,手动添加ndk路径:ndk.dir=C:\User......
  • Android Studio ERROR: Installed Build Tools revision 34.0.0 is corrupted. Remove
    AndroidStudio错误提示:ERROR:InstalledBuildToolsrevision34.0.0iscorrupted.RemoveandinstallagainusingtheSDKManager.解决办法:在C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\34.0.0目录中找到d8.bat,将文件名修改为dx.bat在C:\Us......
  • Android高通 12/13 录屏流程代码位置
     需求如下图实现系统录屏功能 frameworks/base/packages/SystemUI/src/com/android/systemui/screenrecord涉及代码ScreenRecordDialog#startBtnRecordingService#start#end ScreenMediaRecorder.java1、点击开始录屏frameworks/base/packages/SystemUI/src/......
  • Android桌面Launcher源码浅析
    在Android启动过程-万字长文(Android14)中介绍了Android系统的启动过程,本篇文章将继续介绍桌面应用Launcher。一、Launcher介绍在Android启动过程-万字长文(Android14)中提到Launcher是Android系统启动后,由SystemServerActivityManagerService(AMS)加载的第一个应用程序L......
  • 损失函数和评价指标
    在深度学习和机器学习中,损失函数和评价指标是两个密切相关但具有明显不同目的的概念。了解它们的区别对于设计和训练模型非常重要。以下是它们的主要区别和各自的作用:损失函数(LossFunction)损失函数,也称为代价函数或误差函数,是一个在模型训练过程中使用的函数,用于量化模型预......
  • ios第三方库
    Alamofire:优雅的网络请求框架。Kingfisher:用于异步加载和缓存图像的框架。SnapKit:用于编写AutoLayout约束的框架。SwiftyJSON:简化JSON数据解析的框架。Realm:轻量级数据库框架,用于本地数据存储。ObjectMapper:将模型对象与JSON数据进行映射的框架。SVProgressHUD:简单易用的H......
  • AndroidStudio升级Gradle到7+,compileSdkVersion 33+
    一、概述由于需求方的要求/需要,主动或被动的需要升级android的编译环境到CompileSdkVersion33。此时直接更改android项目的编译版本会报错,as版本过低或者gradle插件太老了等。也会遇到一些这样那样的bug,这一篇做一下简单的总结升级方式:以更......