Откуда берется заголовок в смарт-баннерах Universal Link?

При настройке Универсальная ссылка в вашем приложении для iOS 9. Поместив на свой сервер файл apple-app-site-association и настроив приложение для обработки ссылки, вы также автоматически получите смарт-баннеры на своем сайт всякий раз, когда вы просматриваете страницу, которая поддерживается вашим приложением.

Как это:

введите здесь описание изображения

Это автоматические баннеры, которые появляются без использования тегов meta на нашем сайте. Они появляются только тогда, когда пользователь находится в верхней части страницы и тянет вниз (насколько я вижу).

Мой вопрос: откуда Apple берет заголовок для баннера? Откуда в приведенном выше примере надпись «Yelp», которая появляется над строкой «Открыть в приложении Yelp»? То, что мы видим на нашем, это: значок приложения, текст OPEN справа, «Открыть в приложении XXXX», но без заголовка, просто пустая область над этой строкой.

Я попытался добавить некоторые метатеги обсуждается здесь, но все еще не работает.

Я немного боюсь, что ответом будет то, что Apple индексирует какое-то свойство вашей веб-страницы, чтобы получить заголовок. Боюсь, причина в том, что эти конкретные страницы недоступны для широкой публики. ????


person Mason G. Zhwiti    schedule 05.03.2016    source источник


Ответы (1)


Похоже, название происходит от ключа iTunesMetadata.plist itemName. Я предполагаю, что это присутствует только в IPA-файле дистрибутива.

<key>itemName</key>
<string>App Name</string>

Содержимое iTunesMetadata.plist

Ниже приведен пример типичного файла iTunesMetadata.plist, используемого для определения информации iTunes для раздачи Ad Hoc:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UIRequiredDeviceCapabilities</key>
    <dict>
        <key>armv7</key>
        <true/>
        <key>front-facing-camera</key>
        <true/>
    </dict>

    <key>artistName</key>
    <string>Company, Inc.</string>

    <key>bundleDisplayName</key>
    <string>App Name</string>

    <key>bundleShortVersionString</key>
    <string>1.5.1</string>

    <key>bundleVersion</key>
    <string>1.5.1</string>

    <key>copyright</key>
    <string>© 2015 Company, Inc.</string>

    <key>drmVersionNumber</key>
    <integer>0</integer>

    <key>fileExtension</key>
    <string>.app</string>

    <key>gameCenterEnabled</key>
    <false/>

    <key>gameCenterEverEnabled</key>
    <false/>

    <key>genre</key>
    <string>Games</string>

    <key>genreId</key>
    <integer>6014</integer>

    <key>itemName</key>
    <string>App Name</string>

    <key>kind</key>
    <string>software</string>

    <key>playlistArtistName</key>
    <string>Company, Inc.</string>

    <key>playlistName</key>
    <string>App Name</string>

    <key>releaseDate</key>
    <string>2015-11-18T03:23:10Z</string>

    <key>s</key>
    <integer>143441</integer>

    <key>softwareIconNeedsShine</key>
    <false/>

    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>9</integer>
    </array>

    <key>softwareVersionBundleId</key>
    <string>com.company.appid</string>

    <key>subgenres</key>
    <array>
        <dict>
            <key>genre</key>
            <string>Puzzle</string>
            <key>genreId</key>
            <integer>7012</integer>
        </dict>
        <dict>
            <key>genre</key>
            <string>Word</string>
            <key>genreId</key>
            <integer>7019</integer>
        </dict>
    </array>

    <key>versionRestrictions</key>
    <integer>16843008</integer>
</dict>
</plist>
person Vineet Choudhary    schedule 05.03.2016
comment
Как вы определяете, что это правда? Я не сомневаюсь, что itemName является ключом в файле iTunesMetadata.plist, но как вы определили, что это место, где заголовок приложения используется для смарт-баннера? - person Mason G. Zhwiti; 05.03.2016
comment
Просто извлеките файл ipa и измените значение itemName. - person Vineet Choudhary; 05.03.2016
comment
Извините, я спрашивал больше о том, как вы знаете, что именно это вызывает проблему, которую я вижу? т.е. у вас есть источник этой информации, или это просто предположение, основанное на вашем опыте? Я вижу аналогичный ответ по этому поводу на форумах разработчиков Apple, где кто-то говорит, что похоже, что заголовок исходит из ключа iTunesMetadata.plist itemName. Но они также не говорят, как они пришли к такому выводу. ¯\_(ツ)_/¯ - person Mason G. Zhwiti; 07.03.2016
comment
Нет, у меня нет источника. Я только что понял это, извлекая файл ipa, изменяя значение itemName и снова создавая пакет. После повторной упаковки ipa я установил файл ipa через диспетчер устройств XCode на устройстве в режиме разработки. И снова откройте сайт в сафари, и на этот раз я увидел измененное значение itemName в поле заголовка баннера. Вот как я понял. - person Vineet Choudhary; 07.03.2016
comment
@mason-g-zhwiti Пожалуйста, прокомментируйте ссылку на форумы разработчиков Apple, где идет обсуждение - person Vineet Choudhary; 07.03.2016