เผยแพร่แอป

ส่วนต่อไปนี้จะให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับการจัดจำหน่ายแอปใน 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",
   },
],

เมื่อใช้นโยบายกับอุปกรณ์ ระบบจะติดตั้งแอปในอุปกรณ์หรือเพิ่มลงใน Managed 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 ไว้ iframe จะเปิดใช้ฟีเจอร์ทั้งหมดโดยค่าเริ่มต้น

ขั้นตอนที่ 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 แอปส่วนตัวจะใช้ได้กับองค์กรที่จำกัดไว้เท่านั้น ผู้ใช้ดังกล่าวยังคงติดตั้งได้โดยใช้นโยบาย แต่ผู้ใช้ภายนอกองค์กรจะมองไม่เห็น