Segment trackEvent не работает сразу после установки обновления CodePush

В нашем проекте React Native интегрированы как Segment, так и CodePush.

Сегмент работает нормально, нормально.

Но есть сценарий, когда сегмент перестает работать сразу после установки обновления CodePush. Ничего не сбрасывается, и ни одно из событий не отображается в списке Live Debugger - за исключением событий, которые отслеживаются на собственном уровне (например: "Приложение открыто" и "Приложение фоновое" - отображаются только они).

Поэтому я предположил, что любой вызов сегмента на уровне RN - Javascript перестает работать только после того, как приложение перезапустит пакет (с помощью CodePush).

Пользователь должен закрыть и убить приложение и снова открыть приложение, чтобы оно снова работало нормально.

Бывает как на iOS, так и на Android (при установке из магазина).

И, как ни странно, я не могу воссоздать проблему на Android, когда я запускаю отладочную или выпускаю сборку прямо на свой телефон Android с моей машины (это просто работает ‍♂️). То же самое и с симуляторами iOS.

Есть идеи или обходные пути по этому поводу?


Вот как выглядит установка:

import React, { Component } from "react";
import CodePush from "react-native-code-push";
import segment from "@segment/analytics-react-native";

...

class App extends Component {

    constructor(props) {
        super(props);

        this.setupSegment();
    }

    private setupSegment(): void {
        segment.setup("<Segment Write Key>", {
            debug: true,
            trackAppLifecycleEvents: true,
            ios: {
                trackAdvertising: true
            }
        });
    }

    ...
}

export default CodePush({
    installMode: CodePush.InstallMode.IMMEDIATE,
    checkFrequency: CodePush.CheckFrequency.ON_APP_RESUME,
    updateDialog: null
})(App);

react-native: 0.61.5
react-native-code-push: 6.1.0
@segment/analytics-react-native: 1.1.1-beta.2 (also tried 1.1.1-beta.5)

0 ответов

Другие вопросы по тегам