Ретаргетинг кода пикселя Facebook для React Native

Привет, я пытаюсь добавить пиксель ретаргетинга facebook для своего собственного приложения, и я надеюсь, что сообщество поможет мне кое-что прояснить. Во-первых, чтобы отслеживать событие PageView или ViewContent продукта, я добавляю следующий скрипт на страницу продукта.

<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');

fbq('init', 'xxxxxxxxxxxxxxxx');
fbq('track', 'PageView');
fbq('track', 'ViewContent', {

        content_name: 'Truyện Cổ Grimm (Bìa Cứng)',
        content_category: 'Truyện đọc',
        content_ids: ['8935212329736'],
        content_type: 'product',
        value: 153750,
        currency: 'VND'

});
</script>

Интересно, как я могу добиться того же с помощью React Native. Я видел, что в Facebook есть FB SDK для нативного реагирования (https://developers.facebook.com/docs/react-native), и я хочу спросить, можно ли с помощью этого SDK добиться того же, что и для сети, описанной выше. Что, если я просматриваю продукт, я просто делаю это?

AppEventsLogger.logEvent('ViewContent');

Если да, то могу ли я указать другие параметры, может быть, вот так?

AppEventsLogger.logEvent('ViewContent', {

    content_name: 'Truyện Cổ Grimm (Bìa Cứng)',
    content_category: 'Truyện đọc',
    content_ids: ['8935212329736'],
    content_type: 'product',
    value: 153750,
    currency: 'VND'
});

Кто имеет успешный опыт в этом, пожалуйста, помогите мне. Большое спасибо


person Thang Pham    schedule 30.03.2017    source источник


Ответы (1)


Вы были правы, угадав событие, которое будет использоваться с react-native-fbsdk. Если вы посмотрите на источник этого SDK здесь вы увидите, что можете использовать метод logEvent по-разному.

Способ, о котором вы догадались:

AppEventsLogger.logEvent('ViewContent', {
    content_name: 'Truyện Cổ Grimm (Bìa Cứng)',
    content_category: 'Truyện đọc',
    content_ids: ['8935212329736'],
    content_type: 'product',
    value: 153750,
    currency: 'VND'
});

Будет регистрировать события в FB Analytics, а затем вы сможете настраивать свои отчеты на основе этих параметров. Во время моего опыта работы с ним я столкнулся с одной проблемой, что он не поддерживает массивы. Таким образом, приведенный выше код будет изменен, как показано ниже:

AppEventsLogger.logEvent('ViewContent', {
    content_name: 'Truyện Cổ Grimm (Bìa Cứng)',
    content_category: 'Truyện đọc',
    content_ids: '8935212329736',
    content_type: 'product',
    value: 153750,
    currency: 'VND'
});

С этим вам должно быть хорошо идти. Я надеюсь, что это решило ваш запрос.

Примечание.

В настоящее время массивы не поддерживаются React Native Bridge. Вы можете проверить это для места, где массивы не поддерживаются.

person Jagjot    schedule 06.04.2017
comment
может быть, не как массив, как json String. developers.facebook.com/docs/marketing-api/ приложение-событие-api/v2.8. - person Thang Pham; 17.04.2017
comment
fb_content_id: если у вас есть несколько идентификаторов контента, вы должны указать их в экранированном массиве JSON, например: [\1234\,\5678\] - person Thang Pham; 17.04.2017
comment
@ThangPham вау, это потрясающая находка! Я включу это в ответ. - person Jagjot; 19.04.2017