How to Manage Prompt Installation of APKs Configured in TMS: Difference between revisions

From wizarPOS
(Replaced content with "{{Migrating|https://smartpossdk.gitbook.io/cloudpossdk/faq/tms-wizarview/manage-apk-prompt-installation}}")
Tag: Replaced
 
Line 1: Line 1:
== Overview ==
{{Migrating|https://smartpossdk.gitbook.io/cloudpossdk/faq/tms-wizarview/manage-apk-prompt-installation}}
For kiosk terminals or similar devices, there may be a need to decide when to install an APK. This process involves configuring the APK in TMS for prompt installation mode. This setup allows the customer's APK to receive a notification when the download is complete and then instruct the Wizarview agent to proceed with the installation.
 
'''Required Version:''' Ensure the Wizarview agent version is greater than 5.3.39 for this functionality to work effectively.
== Receive download ==
  Receive the broadcast, action:android.intent.action.TMS_DOWNLOADED  extra value name: apk_notify_info  type: JSONArray, for example: [{"appId":19068,"newVersion":1,"newVersionName":"1.0","packageName":"com.liqi.myapp20210324"}]
* Register broadcast
<syntaxhighlight lang="java" line='line'>
  <receiver
android:name=".receiver.ApkDownloadedReceiver">
    <intent-filter>
        <action android:name="android.intent.action.TMS_DOWNLOADED" />
    </intent-filter>
</receiver>
</syntaxhighlight>
* Extends class of the BroadcastReceiver
<syntaxhighlight lang="java" line='line'>
    String apk_notify_info = intent.getStringExtra("apk_notify_info");
</syntaxhighlight>
 
== Notice to install ==
  Send broadcast to install, action: android.intent.action.TMS_INSTALL  extra value name: apk_start_install_notify_info type: JSONArray, for example: [{"appId":19068,"newVersion":1,"newVersionName":"1.0","packageName":"com.liqi.myapp20210324"}]
<syntaxhighlight lang="java" line='line'>
    Intent intent = new Intent();
    intent.putExtra("apk_start_install_notify_info", JSON.toJSONString(apkNotifyInfos));
    intent.setAction("android.intent.action.TMS_INSTALL");
    context.sendBroadcast(intent);
</syntaxhighlight>
 
== ApkNotifyInfo class==
<syntaxhighlight lang="java" line='line'>
  class ApkNotifyInfo {
        private int appId;
        private String packageName;
        private long newVersion;
        private String newVersionName;
 
        public ApkNotifyInfo() {
        }
 
        public ApkNotifyInfo(int appId, String packageName, long newVersion, String newVersionName) {
            this.appId = appId;
            this.packageName = packageName;
            this.newVersion = newVersion;
            this.newVersionName = newVersionName;
        }
 
        public int getAppId() {
            return appId;
        }
 
        public void setAppId(int appId) {
            this.appId = appId;
        }
 
        public String getPackageName() {
            return packageName;
        }
 
        public void setPackageName(String packageName) {
            this.packageName = packageName;
        }
 
        public long getNewVersion() {
            return newVersion;
        }
 
        public void setNewVersion(long newVersion) {
            this.newVersion = newVersion;
        }
 
        public String getNewVersionName() {
            return newVersionName;
        }
 
        public void setNewVersionName(String newVersionName) {
            this.newVersionName = newVersionName;
        }
}
</syntaxhighlight>
== Considerations ==
* This configuration is particularly useful for scenarios where installations need to be managed without interrupting the terminal's primary functions.
* Ensure that the APK and TMS settings are correctly aligned to avoid installation delays or failures.
* The configuration process might vary slightly based on the version of your TMS and the specific type of terminal you are using. Always refer to the latest documentation for your TMS version for the most accurate guidance.

Latest revision as of 05:08, 8 April 2024

Please visit new link of same subject:

https://smartpossdk.gitbook.io/cloudpossdk/faq/tms-wizarview/manage-apk-prompt-installation

We're making a move! Our site's content is migrating to a new URL, to provide you with an enhanced browsing experience. Please update your bookmarks accordingly. Thank you for your continuous support!