次の方法で共有


Plugin Instance サービス

Apps Marketplace 用のアプリを開発する場合は、アンブレラ アプリと、ワークフローに別の場所にプラグインする 1 つ以上の特定のアプリ インスタンスを構築します。 プラグイン インスタンス サービスを使用すると、これらのインスタンスを作成および制御できます。 アンブレラ アプリの作成と管理の詳細については、 プラグイン サービスに関するページを参照してください。

REST API

注:

3 つの異なるユーザー ロールがあり、そのうちの 2 つは、このサービスを呼び出すことができます。

  • アプリ プロバイダー - Apps Marketplace でアプリを開発するメンバー。
  • アプリサブスクライバー - アプリ をサブスクライブして使用するメンバー。
  • メンバー以外の開発者 - これらのアプリ開発者はメンバーに関連付けられていないので、このサービスを呼び出すことはできません。

特定のロールは、1 つ以上の呼び出しを行うことを制限されます。 呼び出しを行うことができるロールは、次の表の Description 列で指定します。

HTTP メソッド エンドポイント 説明
POST https://api.appnexus.com/plugin-instance
(plugin-instance JSON)
アプリを追加します。
- アプリ プロバイダー。
- アプリサブスクライバー。
PUT https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID
(plugin-instance JSON)
アプリを変更します。
- アプリ プロバイダー。
GET https://api.appnexus.com/plugin-instance すべてのアプリ インスタンスを表示します。
- アプリ プロバイダー。
- アプリ サブスクライバー (関連付けられているインスタンスのみが表示されます)。
GET https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID 特定のアプリ インスタンスを表示します。
- アプリ プロバイダー。
- アプリ サブスクライバー (インスタンスが関連付けられている場合にのみ表示されます)。
DELETE https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID アプリ インスタンスを削除します。
- アプリ プロバイダー
DELETE https://api.appnexus.com/plugin?id=PLUGIN_INSTANCE_ID サブスクライバーによってインストールされたすべてのアプリを削除します。
DELETE https://api.appnexus.com/plugin-instance?id=PLUGIN_INSTANCE_ID 開発者が作成したすべてのアプリを削除します。

JSON フィールド

フィールド 種類 説明
description string アプリ インスタンスの上にマウス ポインターを合わせると表示されるヒント。

既定値: null
flavor 列挙 アプリがワークフローに統合されている場所。 使用可能な値:
- "standalone"- アプリは、[メイン アプリ] タブでネットワーク ユーザーが使用できます。
- "creative_action" - アプリは、 クリエイティブ マネージャー 画面から直接ネットワーク ユーザーが使用できます。
- "advertiser_menu" - このアプリは、[広告主] タブで 広告主ユーザーが 利用できます。
- "publisher_menu" - アプリは、パブリッシャー ユーザーが [ パブリッシャー ] タブで使用できます。
- "conversion_pixel" - アプリは追跡ピクセルを使用して、このアプリのダウンロード数をカウントします。

必須:POST
icon_url string アプリ インスタンスと共に表示されるアイコンの URL。

既定値: null
id int アプリ インスタンスの ID。

既定値: 自動生成された数値
必須:PUT/DELETE クエリ文字列内の 、
iframe_url string アプリのコンテンツを指す URL。

必須:POST
name string アプリ インスタンスと共に表示される名前。

必須:POST
plugin_id int インスタンスが属するアプリの ID。

必須:POST
proxy_url string ファイルの proxy.md URL。 このプロキシ ファイルを使用すると、アプリとアプリ間のクロスフレーム通信が可能になります。 アプリと同じドメイン上の URL にアップロードする必要があります。

必須:POST

アプリを追加する

$ cat plugin_instance.json
{
   "plugin-instance": {
       "name": "Test instance 1",
       "plugin_id": 45,
       "flavor": "standalone",
       "iframe_url": "https://www.iframe_url.com",
       "name": "Test Instance 1",
       "description": "This is the tooltip for Test Instance 1.",
       "icon_url": "https://www.icon_url.com",
       "proxy_url": "https://www.iframe_url.com/proxy.md"
   }
}
$ curl -b cookies -c cookies -X POST -d @plugin_instance 'https://api.appnexus.com/plugin-instance'
{
    "response": {
        "status": "OK",
        "count": 1,
        "id": 65,
        "start_element": null,
        "num_elements": null,
        "plugin-instance": {
            "id": 65,
            "plugin_id": 45,
            "flavor": "standalone",
            "iframe_url": "https://www.iframe_url.com",
            "js_api_version": "",
            "name": "Test Instance 1",
            "description": "This is the tooltip for Test Instance 1.",
            "icon_url": "https://www.icon_url.com",
            "proxy_url": "https://www.iframe_url.com/proxy.md"
        },
        "dbg_info": {
            ...
        }
    }
}

アプリを変更する

$ cat modify-plugin.json
{
    "plugin-instance": {
       "name": "Napoleon Bonaparte"
    }
}
$ curl -b cookies -c cookies -X PUT -d @modify-plugin.json 'https://sand.api.appnexus.com/plugin-instance?id=146' | json-pp
{
    "response":{
        "status":"OK",
        "count":1,
        "id":"146",
        "start_element":null,
        "num_elements":null,
        "plugin-instance":{
            "id":146,
            "plugin_id":101,
            "flavor":"advertiser_menu",
            "iframe_url":"https:\/\/www.myadgent.com\/logos",
            "js_api_version":"",
            "name":"Napoleon Boneparte",
            "description":null,
            "icon_url":null,
            "proxy_url":"https:\/\/www.myadgent.com\/logos\/video-appnexus-96-96.png"
        },
        "dbg_info":{
            ...
        }
    }
}

すべてのアプリを表示する

$ curl -b cookies -c cookies 'https://api.appnexus.com/plugin-instance'
{
    "response": {
        "status": "OK",
        "count": 58,
        "start_element": null,
        "num_elements": null,
        "plugin-instances": [
            {
                "id": 2,
                "plugin_id": 1,
                "flavor": "campaign_profile_segment",
                "iframe_url": "https://host.appnexus/segment-targeting/boolean/",
                "js_api_version": "",
                "name": "Advanced Segment Chooser",
                "description": "Allows you to select groups of segments and perform boolean comparison of them.",
                "icon_url": "https://console.appnexus.com/favicon.ico",
                "proxy_url": "https://host.appnexus/proxy_new.md"
            },
            {
                "id": 3,
                "plugin_id": 2,
                "flavor": "standalone",
                "iframe_url": "https://my.evidon.com/tag?i=17",
                "js_api_version": "",
                "name": "Evidon",
                "description": "Evidon InForm enables businesses to comply with privacy laws and self-regulatory programs  across North America and Europe.",
                "icon_url": "https://betteradblog.files.wordpress.com/2011/11/adchoices14x16.png",
                "proxy_url": "https://my.evidon.com/client_plugins/proxy.md"
            },
            {
                "id": 4,
                "plugin_id": 3,
                "flavor": "standalone",
                "iframe_url": "https://agents.proximic.com/appnexus/v1/index.jsp",
                "js_api_version": "",
                "name": "Agents",
                "description": "Add powerful contextual and brand safety data to your media buy.",
                "icon_url": "https://static.proximic.com/img/proximic_appnexus_16x16.png",
                "proxy_url": "https://agents.proximic.com/appnexus/v1/proxy.md"
            },
            {
                "id": 5,
                "plugin_id": 4,
                "flavor": "standalone",
                "iframe_url": "https://audexp.apps.exelate.com",
                "js_api_version": "",
                "name": "Audience eXplorer",
                "description": "eXelate provides data on online purchase intent, household demographics and behavioral propensities that enable digital advertisers to make optimal marketing decisions.",
                "icon_url": "https://www.exelate.com/favicon.ico",
                "proxy_url": "https://audexp.apps.exelate.com/AppNexusPluginProxy"
            },
            {
                "id": 6,
                "plugin_id": 5,
                "flavor": "standalone",
                "iframe_url": "https://e1.targusinfo.com/plugin/e1anx.md",
                "js_api_version": "",
                "name": "Audience Wizard",
                "description": "Create customized audience groups based on TARGUSinfos offline data  including thousands of demographic, branding, product, lifestyle/lifestage and consumer behavior profiles.",
                "icon_url": "https://targusinfo.com/files/images/16x16_T.png",
                "proxy_url": "https://e1.targusinfo.com/plugin/e1anxproxy.md"
            },
            {
                "id": 7,
                "plugin_id": 6,
                "flavor": "standalone",
                "iframe_url": "https://marketplace.brilig.com/brilig-webapp/loginAppNexusOuterFrame.jsp",
                "js_api_version": "",
                "name": "Audience DataMizer",
                "description": "Access recommended audience buys and the ability to shop for and deploy 15 billion data points, encompassing 7,500 audience segments from 200 million profiles.",
                "icon_url": "https://cdn.adnxs.com/applogos/brilig16_16.png",
                "proxy_url": "https://marketplace.brilig.com/brilig-webapp/proxy.md"
            },
            ...
        ],
        "dbg_info": {
            ...
        }
    }
}

特定のアプリを表示する

$ curl -b cookies -c cookies 'https://api.appnexus.com/plugin-instance?id=32'
{
    "response": {
        "status": "OK",
        "count": 1,
        "start_element": null,
        "num_elements": null,
        "plugin-instance": {
            "id": 32,
            "plugin_id": 27,
            "flavor": "standalone",
            "iframe_url": "https://apps.eyereturn.com/appnexus-app/",
            "js_api_version": "",
            "name": "eyeReturn",
            "description": "Build a rich media banner featuring multiple products and messages  No experience needed!",
            "icon_url": "https://www.eyereturnmarketing.com/img/logos/erm_app_logo_16x16.png",
            "proxy_url": "https://apps.eyereturn.com/appnexusproxy.md"
        },
        "dbg_info": {
            ...
        }
    }
}

アプリを削除する

$ curl -b cookies -c cookies -X DELETE 'https://sand.api.appnexus.com/plugin-instance?id=20' | json-pp
{
    "response":{
        "status":"OK",
        "dbg_info":{
            ...
        }
    }
}