エンコード
URLエンコードは、URLのデータを一定の規則に基づいて符号化し、サーバーで読み取れるようにする方法です。URLは必ずエンコードする必要があり、適切にエンコードしなければデータが失われる恐れがあります。
コールバックURLとトラッカーURLには、同じエンコードの規則が適用されます。
URLのクエリ文字列部分、すなわちURLで?
の後に来る内容のみエンコーディングが必要となります。このトラッカーURLなら、この部分(https://app.adjust.com/abc123?
)の後に続く情報にあたります。
以下の情報は必ずエンコードしてください。
- 安全でない特殊文字:
@
、&
、&
、+
、,
、/
、:
、;
、=
、?
、@
、"
、<
、>
、#
、%
、{
、}
、|
、\
、^
、~
、[
、]
、`
) - スペース( )
- パラメータ値としてのURL(フォールバックURLなど)
- パラメータ内のパラメータ(Androidインストールリファラー値など)
URLの重要な部分をいつエンコードすべきかは具体的に説明しますが、安全でない文字、すなわちASCII文字セット以外の文字を含むパラメータ値は全てエンコードする必要があります。値に安全でない文字が含まれているかどうか不明な場合は、URLエンコーダーに入力すると、値の中の安全でない文字が変換されます。ただし、中かっこ({ }
)を使用したプレースホルダはエンコードする必要が_ありません_。
URLが適切にエンコードされていないと、サーバーでエラーが発生し、フォールバックやリダイレクトの誤動作、パラメータの読み取りや処理ができないなどの不具合につながります。
コールバックURL内の特殊文字の例
エンコードされていないURL
http://callbacks.myserver.com/registration?username=bob_uncle&email=bob.uncle@mail.com
エンコードされたURL
http://callbacks.myserver.com/registration?username=bob_uncle&email=bob.uncle%40mail.com
例:パラメーターとしてURLを含むトラッカーURL
エンコードされたURL
https://app.adjust.com/abc123?redirect=https://www.mywebsite.com/landing_page
エンコードされたURL
https://app.adjust.com/abc123?redirect=https%3A%2F%2Fwww.mywebsite.com%2Flanding_page
例:パラメーター内にパラメーターを含むトラッカーURL
エンコードされていないURL
https://app.adjust.com/abc123?referrer=adjust_tracker=abc123&adjust_campaign=ChristmasCamp59_ChristmasCampId330&adjust_adgroup=AppId48399_SubID&adjust_creative=Creative9383_SubId&utm_source=adjust_store&adjust_install_callback=www.3rdpartydomain.com?src=adjust&advertiserId=57638&password=4d13c4dc
エンコードされたURL
https://app.adjust.com/abc123?referrer=adjust_tracker%3Dabc123%26adjust_campaign%3DChristmasCamp59_ChristmasCampId330%26adjust_adgroup%3DAppId48399_SubID%26adjust_creative%3DCreative9383_SubId%26utm_source%3Dadjust_store&adjust_install_callback=www.3rdpartydomain.com%253Fsrc%253Dadjust%2526advertiserId%253D57638%2526password%253D4d13c4dc
注:この例では、実際はすでにエンコードされたURLの中にコールバックパラメータがあるため、コールバックURL値を_二重にエンコード_する必要があります。