Method: edits.apks.addexternallyhosted
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إنشاء حزمة APK جديدة بدون تحميل حزمة APK نفسها إلى Google Play، واستضافة حزمة APK على عنوان URL محدّد بدلاً من ذلك لا تتوفّر هذه الميزة إلا للمؤسسات التي تستخدم "Google Play للأعمال" والتي تم ضبط تطبيقاتها لحظر التوزيع داخل المؤسسات.
طلب HTTP
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
مَعلمات المسار
المعلمات |
packageName |
string
اسم حزمة التطبيق
|
editId |
string
معرّف التعديل.
|
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
الحقول |
externallyHostedApk |
object (ExternallyHostedApk )
تعريف ملف APK الذي تتم استضافته خارجيًا وموقعه.
|
نص الاستجابة
الاستجابة لإنشاء حزمة APK جديدة تتم استضافتها خارجيًا.
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
الحقول |
externallyHostedApk |
object (ExternallyHostedApk )
تعريف ملف APK الذي تتم استضافته خارجيًا وموقعه.
|
نطاقات الأذونات
يجب توفير نطاق OAuth التالي:
https://www.googleapis.com/auth/androidpublisher
ExternallyHostedApk
تحدّد هذه السياسة حزمة APK متاحة لهذا التطبيق تتم استضافته خارجيًا ولم يتم تحميله إلى Google Play. لا تتوفّر هذه الميزة إلا للمؤسسات التي تستخدم "Google Play للأعمال" والتي تم ضبط تطبيقاتها لحظر التوزيع داخل المؤسسات.
تمثيل JSON |
{
"packageName": string,
"applicationLabel": string,
"versionCode": integer,
"versionName": string,
"fileSize": string,
"fileSha1Base64": string,
"fileSha256Base64": string,
"iconBase64": string,
"minimumSdk": integer,
"certificateBase64s": [
string
],
"externallyHostedUrl": string,
"maximumSdk": integer,
"nativeCodes": [
string
],
"usesFeatures": [
string
],
"usesPermissions": [
{
object (UsesPermission )
}
]
} |
الحقول |
packageName |
string
اسم الحزمة
|
applicationLabel |
string
تصنيف التطبيق.
|
versionCode |
integer
رمز إصدار حزمة APK هذه.
|
versionName |
string
اسم إصدار حزمة APK هذه
|
fileSize |
string (int64 format)
حجم ملف APK هذا بالبايت
|
fileSha1Base64 |
string
المجموع الاختباري sha1 لحزمة APK هذه، والذي يتم تمثيله كمصفوفة بايت بترميز base64.
|
fileSha256Base64 |
string
المجموع الاختباري sha256 لحزمة APK هذه، والذي يتم تمثيله على أنّه مصفوفة بايت مرمّزة بترميز base64.
|
iconBase64 |
string
صورة الرمز من حزمة APK، وهي مصفوفة بايت بترميز base64.
|
minimumSdk |
integer
يشير إلى الحد الأدنى لحزمة تطوير البرامج (SDK) التي تستهدفها حزمة APK هذه.
|
certificateBase64s[] |
string
يتم استخدام شهادة (أو مصفوفة من الشهادات في حال استخدام سلسلة شهادات) لتوقيع حزمة APK هذه، ويتم تمثيلها كمصفوفة بايت مشفّرة بترميز base64.
|
externallyHostedUrl |
string
تمثّل هذه السمة عنوان URL الذي يستضيف حزمة APK. ويجب أن يكون هذا عنوان URL يستخدم بروتوكول https.
|
maximumSdk |
integer
الحد الأقصى لحزمة تطوير البرامج (SDK) المتوافقة مع حزمة APK هذه (اختياري)
|
nativeCodes[] |
string
بيئات الرموز الأصلية التي تتوافق مع حزمة APK هذه (اختياري).
|
usesFeatures[] |
string
الميزات التي تتطلّبها حزمة APK هذه (اختيارية)
|
usesPermissions[] |
object (UsesPermission )
الأذونات التي يطلبها ملف APK هذا.
|
UsesPermission
إذن تستخدمه حزمة APK هذه.
تمثيل JSON |
{
"name": string,
"maxSdkVersion": integer
} |
الحقول |
name |
string
اسم الإذن المطلوب
|
maxSdkVersion |
integer
اختيار الحد الأقصى لإصدار حزمة تطوير البرامج (SDK) الذي يتطلب الحصول على الإذن
|
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eCreates a new APK hosted at a specified URL instead of uploading it to Google Play, restricted to Managed Play organizations.\u003c/p\u003e\n"],["\u003cp\u003eRequires an HTTP POST request to \u003ccode\u003ehttps://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe request body defines the externally-hosted APK with details like package name, version code, checksums, and hosting URL.\u003c/p\u003e\n"],["\u003cp\u003eThe response provides the details of the successfully created externally hosted APK.\u003c/p\u003e\n"],["\u003cp\u003eThis functionality requires the \u003ccode\u003ehttps://www.googleapis.com/auth/androidpublisher\u003c/code\u003e authorization scope.\u003c/p\u003e\n"]]],["This document details the process of creating an externally hosted APK for Managed Play applications. The core action is sending a `POST` request to a specific endpoint with the `packageName` and `editId`. The request body includes an `externallyHostedApk` object, defining the APK's metadata like its URL, version, checksums, supported SDKs, and required permissions. The server returns the same object in the response upon successful creation. This process is authorized with the `androidpublisher` scope.\n"],null,["# Method: edits.apks.addexternallyhosted\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.ApksAddExternallyHostedResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [ExternallyHostedApk](#ExternallyHostedApk)\n - [JSON representation](#ExternallyHostedApk.SCHEMA_REPRESENTATION)\n- [UsesPermission](#UsesPermission)\n - [JSON representation](#UsesPermission.SCHEMA_REPRESENTATION)\n- [Try it!](#try-it)\n\nCreates a new APK without uploading the APK itself to Google Play, instead hosting the APK at a specified URL. This function is only available to organizations using Managed Play whose application is configured to restrict distribution to the organizations.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|---------------|-----------------------------------|\n| `packageName` | `string` Package name of the app. |\n| `editId` | `string` Identifier of the edit. |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"externallyHostedApk\": { object (/android-publisher/api-ref/rest/v3/edits.apks/addexternallyhosted#ExternallyHostedApk) } } ``` |\n\n| Fields ||\n|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `externallyHostedApk` | `object (`[ExternallyHostedApk](/android-publisher/api-ref/rest/v3/edits.apks/addexternallyhosted#ExternallyHostedApk)`)` The definition of the externally-hosted APK and where it is located. |\n\n### Response body\n\nResponse for creating a new externally hosted APK.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"externallyHostedApk\": { object (/android-publisher/api-ref/rest/v3/edits.apks/addexternallyhosted#ExternallyHostedApk) } } ``` |\n\n| Fields ||\n|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `externallyHostedApk` | `object (`[ExternallyHostedApk](/android-publisher/api-ref/rest/v3/edits.apks/addexternallyhosted#ExternallyHostedApk)`)` The definition of the externally-hosted APK and where it is located. |\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`\n\nExternallyHostedApk\n-------------------\n\nDefines an APK available for this application that is hosted externally and not uploaded to Google Play. This function is only available to organizations using Managed Play whose application is configured to restrict distribution to the organizations.\n\n| JSON representation |\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"packageName\": string, \"applicationLabel\": string, \"versionCode\": integer, \"versionName\": string, \"fileSize\": string, \"fileSha1Base64\": string, \"fileSha256Base64\": string, \"iconBase64\": string, \"minimumSdk\": integer, \"certificateBase64s\": [ string ], \"externallyHostedUrl\": string, \"maximumSdk\": integer, \"nativeCodes\": [ string ], \"usesFeatures\": [ string ], \"usesPermissions\": [ { object (/android-publisher/api-ref/rest/v3/edits.apks/addexternallyhosted#UsesPermission) } ] } ``` |\n\n| Fields ||\n|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `packageName` | `string` The package name. |\n| `applicationLabel` | `string` The application label. |\n| `versionCode` | `integer` The version code of this APK. |\n| `versionName` | `string` The version name of this APK. |\n| `fileSize` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The file size in bytes of this APK. |\n| `fileSha1Base64` | `string` The sha1 checksum of this APK, represented as a base64 encoded byte array. |\n| `fileSha256Base64` | `string` The sha256 checksum of this APK, represented as a base64 encoded byte array. |\n| `iconBase64` | `string` The icon image from the APK, as a base64 encoded byte array. |\n| `minimumSdk` | `integer` The minimum SDK targeted by this APK. |\n| `certificateBase64s[]` | `string` A certificate (or array of certificates if a certificate-chain is used) used to sign this APK, represented as a base64 encoded byte array. |\n| `externallyHostedUrl` | `string` The URL at which the APK is hosted. This must be an https URL. |\n| `maximumSdk` | `integer` The maximum SDK supported by this APK (optional). |\n| `nativeCodes[]` | `string` The native code environments supported by this APK (optional). |\n| `usesFeatures[]` | `string` The features required by this APK (optional). |\n| `usesPermissions[]` | `object (`[UsesPermission](/android-publisher/api-ref/rest/v3/edits.apks/addexternallyhosted#UsesPermission)`)` The permissions requested by this APK. |\n\nUsesPermission\n--------------\n\nA permission used by this APK.\n\n| JSON representation |\n|------------------------------------------------------|\n| ``` { \"name\": string, \"maxSdkVersion\": integer } ``` |\n\n| Fields ||\n|-----------------|-------------------------------------------------------------------------------------|\n| `name` | `string` The name of the permission requested. |\n| `maxSdkVersion` | `integer` Optionally, the maximum SDK version for which the permission is required. |"]]