REST API का इस्तेमाल करके, 'देखना जारी रखें' सुविधा को इंटिग्रेट करना

Engage SDK, REST API उपलब्ध कराता है. इससे, iOS और Roku TV जैसे नॉन-Android प्लैटफ़ॉर्म पर, वीडियो को बिना किसी रुकावट के देखने का एक जैसा अनुभव मिलता है. इस एपीआई की मदद से डेवलपर, ऑप्ट-इन करने वाले उपयोगकर्ताओं के लिए "देखना जारी रखें" स्टेटस को अपडेट कर सकते हैं. ऐसा Android के अलावा अन्य प्लैटफ़ॉर्म से किया जा सकता है.

ज़रूरी शर्तें

  • आपको सबसे पहले, उपयोगकर्ता के डिवाइस पर Engage SDK पर आधारित इंटिग्रेशन पूरा करना होगा. यह ज़रूरी चरण, Google के यूज़र आईडी और आपके ऐप्लिकेशन के AccountProfile के बीच ज़रूरी जुड़ाव बनाता है.
  • एपीआई का ऐक्सेस और पुष्टि करना: अपने Google Cloud प्रोजेक्ट में एपीआई को देखने और चालू करने के लिए, आपको अनुमति वाली सूची में शामिल होना होगा. एपीआई के सभी अनुरोधों के लिए, पुष्टि करना ज़रूरी है.

ऐक्सेस पाना

Google Cloud Console में एपीआई को देखने और चालू करने का ऐक्सेस पाने के लिए, आपके खाते का रजिस्टर होना ज़रूरी है.

  1. Google Workspace का ग्राहक आईडी उपलब्ध होना चाहिए. अगर यह सुविधा उपलब्ध नहीं है, तो आपको Google Workspace के साथ-साथ उन सभी Google खातों को सेट अप करना होगा जिनका इस्तेमाल करके आपको एपीआई को कॉल करना है.
  2. Google Workspace से जुड़े ईमेल पते का इस्तेमाल करके, Google Cloud Console में खाता सेट अप करें.
  3. नया प्रोजेक्ट बनाएं.
  4. एपीआई की पुष्टि करने के लिए, सेवा खाता बनाएं. सेवा खाता बनाने के बाद, आपके पास ये दो आइटम होंगे:
    • सेवा खाते का आईडी.
    • आपके सेवा खाते की कुंजी वाली JSON फ़ाइल. इस फ़ाइल को सुरक्षित रखें. आपको बाद में, एपीआई के लिए अपने क्लाइंट की पुष्टि करने के लिए इसकी ज़रूरत पड़ेगी.
  5. Workspace और उससे जुड़े Google खाते, अब REST API का इस्तेमाल कर सकते हैं. बदलाव लागू होने के बाद, आपको सूचना दी जाएगी कि एपीआई को आपके सेवा खातों से कॉल किया जा सकता है या नहीं.
  6. डेलिगेट किए गए एपीआई कॉल करने की तैयारी करने के लिए, यह तरीका अपनाएं.

जारी रखने वाला क्लस्टर पब्लिश करना

Engage का डेटा पब्लिश करने के लिए, इस सिंटैक्स का इस्तेमाल करके publishContinuationCluster API को POST अनुरोध करें.

https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/publishContinuationCluster

जगह:

  • package_name: मीडिया सेवा देने वाली कंपनी के पैकेज का नाम
  • accountId: आपके सिस्टम में उपयोगकर्ता के खाते का यूनीक आईडी. यह उपयोगकर्ता के डिवाइस पर पाथ में इस्तेमाल किए गए accountId से मेल खाना चाहिए.
  • profileId: यह आपके सिस्टम में मौजूद खाते में, उपयोगकर्ता की प्रोफ़ाइल का यूनीक आईडी होता है. यह उस profileId से मेल खाना चाहिए जिसका इस्तेमाल उपयोगकर्ता के डिवाइस पर मौजूद पाथ में किया गया है.

प्रोफ़ाइल के बिना खाते का यूआरएल यह है:

https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/publishContinuationCluster

अनुरोध के पेलोड को entities फ़ील्ड में दिखाया गया है. entities कॉन्टेंट की इकाइयों की सूची दिखाता है. यह MovieEntity या TVEpisodeEntity हो सकती है. इस फ़ील्ड को भरना ज़रूरी है.

अनुरोध का मुख्य हिस्सा

फ़ील्ड

टाइप

ज़रूरी है

ब्यौरा

इकाइयां

MediaEntity ऑब्जेक्ट की सूची

हां

कॉन्टेंट की ऐसी इकाइयों की सूची जिसमें ज़्यादा से ज़्यादा पांच इकाइयाँ हों. सिर्फ़ टॉप पांच को बनाए रखा जाएगा और बाकी को हटा दिया जाएगा. खाली सूची का इस्तेमाल किया जा सकता है. इससे यह पता चलता है कि उपयोगकर्ता ने सभी इकाइयां देख ली हैं.

entities फ़ील्ड में अलग-अलग movieEntity और tvEpisodeEntity शामिल हैं.

फ़ील्ड

टाइप

ज़रूरी है

ब्यौरा

movieEntity

MovieEntity

हां

यह एक ऐसा ऑब्जेक्ट है जो ContinuationCluster में मौजूद किसी फ़िल्म को दिखाता है.

tvEpisodeEntity

TvEpisodeEntity

हां

यह एक ऑब्जेक्ट है. इसमें ContinuationCluster में मौजूद टीवी एपिसोड के बारे में जानकारी होती है.

entities ऐरे में मौजूद हर ऑब्जेक्ट, उपलब्ध MediaEntity टाइप में से एक होना चाहिए. जैसे, MovieEntity और TvEpisodeEntity. साथ ही, इसमें सामान्य और टाइप के हिसाब से फ़ील्ड भी होने चाहिए.

यहां दिए गए कोड स्निपेट में, publishContinuationCluster API के लिए अनुरोध के मुख्य हिस्से का पेलोड दिखाया गया है.

{
  "entities": [
    {
      "movieEntity": {
        "watch_next_type": "WATCH_NEXT_TYPE_CONTINUE",
        "name": "Movie1",
        "platform_specific_playback_uris": [
          "https://www.example.com/entity_uri_for_android",
          "https://www.example.com/entity_uri_for_iOS"
        ],
        "poster_images": [
          "http://www.example.com/movie1_img1.png",
          "http://www.example.com/movie1_imag2.png"
        ],
        "last_engagement_time_millis": 864600000,
        "duration_millis": 5400000,
        "last_play_back_position_time_millis": 3241111
      }
    },
    {
      "tvEpisodeEntity": {
        "watch_next_type": "WATCH_NEXT_TYPE_CONTINUE",
        "name": "TV SERIES EPISODE 1",
        "platform_specific_playback_uris": [
          "https://www.example.com/entity_uri_for_android",
          "https://www.example.com/entity_uri_for_iOS"
        ],
        "poster_images": [
          "http://www.example.com/episode1_img1.png",
          "http://www.example.com/episode1_imag2.png"
        ],
        "last_engagement_time_millis": 864600000,
        "duration_millis": 1800000,
        "last_play_back_position_time_millis": 2141231,
        "episode_display_number": "1",
        "season_number": "1",
        "show_title": "title"
      }
    }
  ]
}

Engage का डेटा मिटाना

Engage का डेटा हटाने के लिए, clearClusters API का इस्तेमाल करें.

जारी रखने की सुविधा से जुड़े क्लस्टर का डेटा मिटाने के लिए, clearClusters एपीआई पर POST अनुरोध करें. इसके लिए, यहां दिया गया सिंटैक्स इस्तेमाल करें.

https://tvvideodiscovery.googleapis.com/v1/packages/{package_name}/accounts/{account_id}/profiles/{profile_id}/clearClusters

जगह:

  • package_name: मीडिया सेवा देने वाली कंपनी के पैकेज का नाम.
  • accountId: आपके सिस्टम में उपयोगकर्ता के खाते का यूनीक आईडी. यह उपयोगकर्ता के डिवाइस पर पाथ में इस्तेमाल किए गए accountId से मेल खाना चाहिए.
  • profileId: यह आपके सिस्टम में मौजूद खाते में, उपयोगकर्ता की प्रोफ़ाइल का यूनीक आईडी होता है. यह उस profileId से मेल खाना चाहिए जिसका इस्तेमाल उपयोगकर्ता के डिवाइस पर मौजूद पाथ में किया गया है.

clearClusters एपीआई के पेलोड में सिर्फ़ एक फ़ील्ड, reason होता है. इसमें DeleteReason होता है, जो डेटा हटाने की वजह बताता है.

{
  "reason": "DELETE_REASON_LOSS_OF_CONSENT"
}

जांच करना

डेटा पोस्ट करने के बाद, उपयोगकर्ता के टेस्ट खाते का इस्तेमाल करके यह पुष्टि करें कि Google TV और Android और iOS के Google TV मोबाइल ऐप्लिकेशन जैसे Google के टारगेट प्लैटफ़ॉर्म पर, 'देखना जारी रखें' लाइन में उम्मीद के मुताबिक कॉन्टेंट दिख रहा है.

टेस्टिंग के दौरान, कुछ मिनटों का समय दें, ताकि बदलाव लागू हो सकें. साथ ही, वीडियो देखने से जुड़ी ज़रूरी शर्तों का पालन करें. जैसे, किसी फ़िल्म का कुछ हिस्सा देखना या किसी एपिसोड को पूरा देखना. ज़्यादा जानकारी के लिए, ऐप्लिकेशन डेवलपर के लिए 'अगला वीडियो देखें' सुविधा से जुड़े दिशा-निर्देश पढ़ें.