เผยแพร่แอป

ส่วนต่อไปนี้จะให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับการเผยแพร่แอปใน Managed Google Play Store

ติดตั้งแอป

คุณติดตั้งแอป Android จาก Google Play Store ในอุปกรณ์ที่ใช้นโยบายนี้ได้ หากต้องการใช้ฟีเจอร์นี้ คุณต้องทราบชื่อแพ็กเกจของแอปที่ต้องการติดตั้ง หากต้องการค้นหาชื่อแพ็กเกจของแอป คุณมี 2 ตัวเลือกดังนี้

  1. ชื่อแพ็กเกจของแอปอยู่ใน URL ของหน้า Google Play Store ตัวอย่างเช่น URL ของหน้าแอป Google Chrome คือ

    https://play.google.com/store/apps/details?id=com.android.chrome
    และชื่อแพ็กเกจคือ com.android.chrome

  2. คุณสามารถฝัง iframe ของ Managed Google Play ในคอนโซล EMM เพื่ออนุญาตให้ลูกค้าเรียกดู Google Play Store เมื่อลูกค้าเลือกแอปใน iframe คอนโซล EMM ของคุณจะได้รับชื่อแพ็กเกจในเหตุการณ์

จากนั้นเพิ่มแอปในนโยบายของอุปกรณ์

"applications":[
   {
      "installType":"FORCE_INSTALLED",
      "packageName":"com.android.chrome",
   },
],

เมื่อคุณใช้นโยบายกับอุปกรณ์ ระบบจะติดตั้งแอปในอุปกรณ์หรือเพิ่มลงใน Google Play Store ที่มีการจัดการในอุปกรณ์

เผยแพร่แอปสำหรับการทดสอบแบบปิด

ใน Play Console นักพัฒนาแอปสามารถสร้างรุ่นการทดสอบแบบปิด (แทร็กแบบปิด) เพื่อทดสอบแอปเวอร์ชันทดลองกับผู้ทดสอบกลุ่มหนึ่ง ซึ่งเรียกว่าการทดสอบแบบปิด การรองรับการเผยแพร่ในแทร็กแบบปิดช่วยให้องค์กรทดสอบแอปของบุคคลที่สาม รวมถึงแอปส่วนตัวที่พัฒนาขึ้นเองได้

เมื่อตั้งค่าการทดสอบแบบปิดใน Play Console นักพัฒนาแอปจะกำหนดเป้าหมายไปยังองค์กรได้สูงสุด 100 องค์กร (enterprises) คุณสามารถใช้ Android Management API เพื่อดึงข้อมูลแทร็กแบบปิดที่กำหนดเป้าหมายไปยังองค์กร และเผยแพร่แทร็กแบบปิดเหล่านี้ไปยังอุปกรณ์โดยใช้นโยบาย

แอปที่มีสิทธิ์สำหรับการทดสอบแบบปิด

ก่อนตั้งค่าการทดสอบแบบปิด นักพัฒนาแอปต้องตรวจสอบว่าแอปของตนเป็นไปตามข้อกำหนดต่อไปนี้

  • แอปเวอร์ชันที่ใช้งานจริงเผยแพร่ใน Google Play (หรือ Managed Google Play สำหรับแอปส่วนตัว)
  • ใน Google Play Console ให้เปิดใช้ Managed Google Play ในหน้าการตั้งค่าขั้นสูงของแอป
  • แอปเวอร์ชันที่ปิดอยู่ต้องเป็นไปตามข้อกำหนดเกี่ยวกับรหัสเวอร์ชัน

เพิ่มองค์กรในการทดสอบแบบปิด

เมื่อตั้งค่าการทดสอบแบบปิด นักพัฒนาแอปสามารถให้สิทธิ์เข้าถึงการทดสอบแบบปิดแก่องค์กรได้โดยเพิ่มรหัสองค์กร ลูกค้าสามารถค้นหารหัสองค์กรได้โดยทำตามวิธีการต่อไปนี้

  1. ลงชื่อเข้าใช้ Managed Google Play โดยใช้บัญชีผู้ดูแลระบบ
  2. คลิกที่การตั้งค่าสำหรับผู้ดูแลระบบ
  3. คัดลอกสตริงรหัสองค์กรจากช่องข้อมูลองค์กร แล้วส่งไปให้นักพัฒนาแอป

สำหรับแอปส่วนตัว นักพัฒนาแอปจะต้องเพิ่มรหัสองค์กรขององค์กรที่เข้าร่วมแต่ละแห่งในแท็บ Managed Google Play ของหน้าการตั้งค่าขั้นสูงของแอปด้วย โปรดดูวิธีการที่หัวข้อเผยแพร่แอปส่วนตัวจาก Play Console

เผยแพร่แทร็กแบบปิดให้กับผู้ใช้

หากต้องการเรียกข้อมูลรายการแทร็กที่พร้อมใช้งานสำหรับองค์กรสำหรับแอปที่ระบุ ให้เรียกใช้ enterprises.applications รายการ appTrackInfo[] ที่รวมอยู่ในคําตอบมีข้อมูลต่อไปนี้สําหรับแอปที่ระบุ

  • trackId: ตัวระบุที่ไม่ซ้ำของแทร็ก ซึ่งนำมาจาก releaseTrackId ใน URL ของหน้าใน Play Console ที่แสดงข้อมูลแทร็กของแอป
  • trackAlias: ชื่อแทร็กที่เป็นที่เข้าใจสำหรับมนุษย์ ซึ่งแก้ไขได้ใน Play Console

หากต้องการติดตั้งแทร็กแบบปิดในอุปกรณ์ของผู้ใช้ ให้ระบุ accessibleTrackIds ในนโยบายของอุปกรณ์

"applications":[
   {
      "installType":"AVAILABLE",
      "packageName":"com.google.android.gm",
      "accessibleTrackIds":[
          "123456",
          "789101"
       ]
   },
],

หากนโยบายมีแทร็กหลายรายการจากแอปเดียวกัน (ดังตัวอย่างด้านบน) นโยบายจะติดตั้งแทร็กที่มีรหัสเวอร์ชันสูงสุด

ระบบจะนํา trackId ออกจากการเรียกenterprises.applications โดยอัตโนมัติในบางสถานการณ์ เช่น ต่อไปนี้

  • APK ของแทร็กได้รับการโปรโมตไปยังแทร็กอื่นหรือเวอร์ชันที่ใช้งานจริง
  • เวอร์ชันที่ใช้งานจริงได้รับการอัปเดตเป็นเวอร์ชันที่สูงกว่าแทร็ก
  • นักพัฒนาแอปหยุดแทร็ก

iframe ของ Managed Google Play

iframe ของ Managed Google Play ช่วยให้คุณฝัง Managed Google Play ในคอนโซล EMM ได้โดยตรงเพื่อมอบประสบการณ์การจัดการอุปกรณ์เคลื่อนที่แบบรวมให้กับลูกค้า

managed-play-iframe
รูปที่ 1 iframe ของ Managed Google Play

iframe มีแถบชื่อและเมนูด้านข้างแบบขยายได้ ผู้ใช้ไปยังหน้าต่างๆ ได้จากเมนูดังนี้

  • ค้นหาแอป: อนุญาตให้ผู้ดูแลระบบไอทีค้นหาและเรียกดูแอป Google Play, ดูรายละเอียดแอป และเลือกแอป
  • แอปส่วนตัว: อนุญาตให้ผู้ดูแลระบบไอทีเผยแพร่และจัดการแอปส่วนตัวสำหรับองค์กร
  • เว็บแอป: ช่วยให้ผู้ดูแลระบบไอทีเผยแพร่และจัดจำหน่ายทางลัดของเว็บไซต์เป็นแอปได้
  • จัดระเบียบแอป: อนุญาตให้ผู้ดูแลระบบไอทีกำหนดค่าวิธีจัดระเบียบแอปในแอป Play Store บนอุปกรณ์ของผู้ใช้

ฟีเจอร์

ส่วนนี้จะอธิบายฟีเจอร์ที่มีให้ใน iframe ของ Managed Google Play ดูข้อมูลเกี่ยวกับวิธีฝัง iframe และใช้งานฟีเจอร์เหล่านี้ได้ที่หัวข้อเพิ่ม iframe ลงในคอนโซล


เพิ่ม iframe ลงในคอนโซล

ขั้นตอนที่ 1 สร้างโทเค็นเว็บ

โทรหา enterprises.webTokens.create เพื่อสร้างโทเค็นเว็บที่ระบุองค์กร การตอบกลับมี value ของโทเค็น

  • ตั้งค่า parentFrameUrl เป็น URL ของเฟรมหลักที่โฮสต์ iframe
  • ใช้ iframeFeature เพื่อระบุฟีเจอร์ที่จะเปิดใช้ใน iframe ดังนี้ PLAY_SEARCH, PRIVATE_APPS, WEB_APPS, STORE_BUILDER (จัดระเบียบแอป) หากไม่ได้ตั้งค่า iframeFeature ไว้ เฟรมภายในจะเปิดใช้ฟีเจอร์ทั้งหมดโดยค่าเริ่มต้น

ขั้นตอนที่ 2 แสดงผล iframe

ต่อไปนี้เป็นตัวอย่างวิธีแสดงผล iframe ของ Managed Google Play

<script src="https://apis.google.com/js/api.js"></script>
<div id="container"></div>
<script>
  gapi.load('gapi.iframes', function() {
    var options = {
      'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT',
      'where': document.getElementById('container'),
      'attributes': { style: 'width: 600px; height:1000px', scrolling: 'yes'}
    }

    var iframe = gapi.iframes.getContext().openChild(options);
  });
</script>

โค้ดนี้จะสร้าง iframe ภายในคอนเทนเนอร์ div คุณตั้งค่าแอตทริบิวต์ที่จะใช้กับแท็ก iframe ได้ด้วยตัวเลือก "แอตทริบิวต์" ตามที่กล่าวไว้ก่อนหน้านี้

พารามิเตอร์ URL

ตารางด้านล่างแสดงพารามิเตอร์ทั้งหมดที่ใช้ได้สําหรับ iframe ซึ่งสามารถเพิ่มลงใน URL ในฐานะพารามิเตอร์ URL เช่น

'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT&showsearchbox=TRUE',
พารามิเตอร์ หน้าเว็บ ต้องระบุ คำอธิบาย
token ไม่มี ใช่ โทเค็นที่แสดงผลจากขั้นตอนที่ 1
iframehomepage ไม่มี ไม่ หน้าเริ่มต้นที่แสดงเมื่อมีการเรนเดอร์ iframe ค่าที่เป็นไปได้มีดังนี้ PLAY_SEARCH, WEB_APPS, PRIVATE_APPS และ STORE_BUILDER (จัดระเบียบแอป) หากไม่ได้ระบุไว้ ระบบจะใช้ลําดับความสําคัญต่อไปนี้เป็นตัวกําหนดว่าหน้าใดจะแสดง 1. PLAY_SEARCH, 2. PRIVATE_APPS, 3. WEB_APPS, 4. STORE_BUILDER
locale ไม่มี ไม่ แท็กภาษา BCP 47 ที่จัดรูปแบบอย่างถูกต้องซึ่งใช้เพื่อแปลเนื้อหาใน iframe หากไม่ได้ระบุ ค่าเริ่มต้นจะเป็น en_US
mode ค้นหาแอป ไม่ SELECT: ให้ผู้ดูแลระบบไอทีเลือกแอป
APPROVE (ค่าเริ่มต้น): อนุญาตให้ผู้ดูแลระบบไอทีเลือก อนุมัติ และไม่อนุมัติแอป
showsearchbox ค้นหาแอป ไม่ TRUE (ค่าเริ่มต้น): แสดงช่องค้นหาและเริ่มการค้นหาจากภายใน iframe
FALSE: ช่องค้นหาไม่แสดง
search ค้นหาแอป ไม่ สตริงการค้นหา หากระบุไว้ IFrame จะนําผู้ดูแลระบบไอทีไปยังผลการค้นหาที่มีสตริงที่ระบุ

ขั้นตอนที่ 3 จัดการเหตุการณ์ iframe

นอกจากนี้ คุณควรจัดการเหตุการณ์ต่อไปนี้เป็นส่วนหนึ่งของการผสานรวมด้วย

กิจกรรมคำอธิบาย
onproductselect ผู้ใช้เลือกหรืออนุมัติแอป ซึ่งจะแสดงผลออบเจ็กต์ที่มีข้อมูลต่อไปนี้
{
    "packageName": The package name of the app, e.g. "com.google.android.gm",
    "productId": The product ID of the app, e.g. "app:com.google.android.gm",
    "action": The type of action performed on the document. Possible values are:
    "approved", "unapproved" or "selected." If you implement the iframe in SELECT
    mode, the only possible value is "selected".
}
    
ตัวอย่างด้านล่างแสดงวิธีฟัง onproductselect
iframe.register('onproductselect', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);


อัปโหลดแอปของคุณเองไปยัง Google Play Store

หากลูกค้าหรือคุณพัฒนาแอป Android คุณสามารถอัปโหลดแอปดังกล่าวใน Play Store ได้โดยใช้ Google Play Console

หากไม่ต้องการให้แอปพร้อมให้บริการแบบสาธารณะใน Play Store คุณสามารถจำกัดแอปไว้สำหรับองค์กรเดียวโดยใช้ Google Play Console อีกทางเลือกหนึ่งคือการเผยแพร่แอปส่วนตัวแบบเป็นโปรแกรมโดยใช้ Google Play Custom App Publishing API แอปส่วนตัวจะพร้อมให้บริการแก่องค์กรที่จำกัดไว้เท่านั้น ผู้ใช้ภายนอกองค์กรจะยังคงติดตั้งแอปเหล่านี้ได้โดยใช้นโยบาย แต่ผู้ใช้ภายนอกองค์กรจะไม่เห็นแอปดังกล่าว