Roku SG アプリケーションにディープリンクを実装するには?

マンジート

Roku Scene Graph アプリケーションが Roku によって拒否されたため、ディープリンクについて理解する助けが必要です。

Roku はここでディープリンクについて説明しています: https://sdkdocs.roku.com/display/sdkdoc/Deep+Linkingですが、このドキュメントではディープリンクに関するすべての情報を詳しく説明しているわけではありません。たとえば、contentId と mediaType を取得するにはどうすればよいでしょうか?

main()起動時に実行される関数次のとおりです。

function main(args as Dynamic) as Void
    print "args" args
    if (args.ContentId <> invalid) and (args.MediaType <> invalid)
        if (args.mediaType = "season")
            HomeScreen()
        end if 
    end if
end function

アプリケーションの起動後、args を出力し、この連想配列を取得します。ただし、これには contentId と mediaType は表示されません。

<Component: roAssociativeArray> =
{
    instant_on_run_mode: "foreground"
    lastExitOrTerminationReason: "EXIT_UNKNOWN"
    source: "auto-run-dev"
    splashTime: "1170"
}

この curl コマンドを使用すると、アプリケーションが正常に起動し、contentId と mediaType が表示されます。

curl -d "" "http://10.1.1.114:8060/launch/dev?contentID=e59066f501310da32b54ec0b64319be0&MediaType=season"

ディープリンクを簡単に理解し、実装するためのより良い例を提供してください。

コーガロア

あなたは正しい軌道に乗っています。ディープ リンクの目的は、ユーザーを Roku Search のリストまたはバナーからチャンネルのシーズンやエピソードに直接誘導することです。

シーン グラフ チャネル用にこれをプログラムする方法については、ドキュメントに優れた例がありません。したがって、これも自分で作成する必要がありました。実装したら、次の 2 つの方法でテストします。

  1. Eclipse プラグイン -> ファイル > エクスポート > BrightScript デプロイメントを使用します。次のように DeepLinking params フィールドに入力します: contentID=1234&MediaType=episode

  2. Roku Deep Link Tester を使用します: http://devtools.web.roku.com/DeepLinkingTester/

  3. いくつかのディープリンク パラメータをチャネルにハードコーディングします。

main.brs にディープリンク ロジックを実装する方法は次のとおりです。

sub Main(args as Dynamic)

    screen = createObject("roSGScreen")
    m.port = createObject("roMessagePort")
    screen.setMessagePort(m.port)
    m.global = screen.getGlobalNode()

    'Deep Linking
    'args.ContentId = "78891" 'Testing only
    'args.MediaType = "episode" 'Testing only
    if (args.ContentId <> invalid) and (args.MediaType <> invalid)
        m.global.addField("DeepContentId", "string", true)
        m.global.addField("DeepMediaType", "string", true)

        m.global.DeepContentId = args.ContentId
        m.global.DeepMediaType = args.MediaType
    end if

    scene = screen.createScene("HomeScene")
    screen.show()

    '...load content, other startup logic

    while true
        msg = wait(0, m.port)
        msgType = type(msg)

        if msgType = "roSGScreenEvent"
            if msg.isScreenClosed() then exit while
        end if
    end while

    if screen <> invalid then
        screen.close()
        screen = invalid
    end if
end sub

次に、コンテンツが初期化されたら、HomeScene.brs のホーム画面で:

'Check for deep link content
if m.global.DeepContentId <> invalid then

    if (m.global.DeepMediaType = "short form" or m.global.DeepMediaType = "movie" or m.global.DeepMediaType = "episode") then
        'find selected content in feed

        'play episode or movie content directly

    else if (m.global.DeepMediaType = "season")
        'find selected content in feed
        'show season screen for content
    else
        ? "Unrecognized Deep Link Media Type"
    end if
    'It may be necessary to remove deep link params
    m.global.DeepContentId = invalid
    m.global.DeepMediaType = invalid
end if

これが Deep Linking を起動して実行するのに役立つことを願っています。何か見逃した場合はお知らせください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rokuアプリケーションをテストするにはどうすればよいですか

分類Dev

Rokuのバックアクションをトリガーする

分類Dev

Rokuのデバッグ?

分類Dev

Brightscript(roku)チャネルにQRコードを実装する方法は?

分類Dev

Roku AdvertisingFrameworkにRoku_Ads.brsライブラリを含める方法

分類Dev

「Roku」のプライベートチャンネルでhtm5アプリをホストするにはどうすればよいですか?

分類Dev

Rokuでcc(字幕)を表示する方法は?

分類Dev

ROKUでキャプションの位置を変更するにはどうすればよいですか?

分類Dev

Win 8のMACアドレスを変更して、WiFiスプラッシュページを介してRokuプレーヤーをスプーフィングするにはどうすればよいですか?

分類Dev

vueアプリケーションにPaypalサブスクリプションを実装する方法は?

分類Dev

Rokuでグローバルにアレイアクセス

分類Dev

Webアプリケーションにアフィリエイトリンクを実装する方法

分類Dev

YouTubeとNetflixはどのようにコンテンツをRokuにプッシュしますか?

分類Dev

boto.authorizeを使用して、既存のsgからポートを追加するようにsgを更新します。

分類Dev

Rokuでサークル画像ビューを使用する方法..?

分類Dev

iOSアプリケーションにOsmAndを実装する

分類Dev

RokuチャンネルでYoutubeビデオをストリーミングするにはどうすればよいですか?

分類Dev

SGクライアントのENOTFOUNDエラーを解決する方法

分類Dev

セキュリティグループsg-xxxxxとサブネットsubnet-xxxxxは異なるネットワークに属しています

分類Dev

Roku-選択可能なリストを作成する

分類Dev

Roku-選択可能なリストを作成する

分類Dev

Java / Swingアプリケーションに多言語を実装する方法は?

分類Dev

SilverStone Sugo SG10:フロントUSBコネクタをマザーボードに接続する方法は?

分類Dev

Roku ScenegraphGridViewを小文字に変換する方法

分類Dev

Roku用のC ++コードをコンパイルする方法は?

分類Dev

ポップアップがPySimpleGUIからsg.Submit()をクリックした場合にfile.txtを生成する方法は?

分類Dev

Javaデスクトップアプリケーションに「フィードバックの送信」機能を実装する

分類Dev

Roku:動的URLを使用したroUrlTransferは空を返します

分類Dev

Roku画面テンプレートのボタンのハイライト色を変更する

Related 関連記事

  1. 1

    Rokuアプリケーションをテストするにはどうすればよいですか

  2. 2

    Rokuのバックアクションをトリガーする

  3. 3

    Rokuのデバッグ?

  4. 4

    Brightscript(roku)チャネルにQRコードを実装する方法は?

  5. 5

    Roku AdvertisingFrameworkにRoku_Ads.brsライブラリを含める方法

  6. 6

    「Roku」のプライベートチャンネルでhtm5アプリをホストするにはどうすればよいですか?

  7. 7

    Rokuでcc(字幕)を表示する方法は?

  8. 8

    ROKUでキャプションの位置を変更するにはどうすればよいですか?

  9. 9

    Win 8のMACアドレスを変更して、WiFiスプラッシュページを介してRokuプレーヤーをスプーフィングするにはどうすればよいですか?

  10. 10

    vueアプリケーションにPaypalサブスクリプションを実装する方法は?

  11. 11

    Rokuでグローバルにアレイアクセス

  12. 12

    Webアプリケーションにアフィリエイトリンクを実装する方法

  13. 13

    YouTubeとNetflixはどのようにコンテンツをRokuにプッシュしますか?

  14. 14

    boto.authorizeを使用して、既存のsgからポートを追加するようにsgを更新します。

  15. 15

    Rokuでサークル画像ビューを使用する方法..?

  16. 16

    iOSアプリケーションにOsmAndを実装する

  17. 17

    RokuチャンネルでYoutubeビデオをストリーミングするにはどうすればよいですか?

  18. 18

    SGクライアントのENOTFOUNDエラーを解決する方法

  19. 19

    セキュリティグループsg-xxxxxとサブネットsubnet-xxxxxは異なるネットワークに属しています

  20. 20

    Roku-選択可能なリストを作成する

  21. 21

    Roku-選択可能なリストを作成する

  22. 22

    Java / Swingアプリケーションに多言語を実装する方法は?

  23. 23

    SilverStone Sugo SG10:フロントUSBコネクタをマザーボードに接続する方法は?

  24. 24

    Roku ScenegraphGridViewを小文字に変換する方法

  25. 25

    Roku用のC ++コードをコンパイルする方法は?

  26. 26

    ポップアップがPySimpleGUIからsg.Submit()をクリックした場合にfile.txtを生成する方法は?

  27. 27

    Javaデスクトップアプリケーションに「フィードバックの送信」機能を実装する

  28. 28

    Roku:動的URLを使用したroUrlTransferは空を返します

  29. 29

    Roku画面テンプレートのボタンのハイライト色を変更する

ホットタグ

アーカイブ