A snapshot built by hand — an account that already exists in the caller's own
system, brought onto a phone of its own — for AndroidIgpapi.launch({ snapshot, seed?, … }).
Every member is typed from the library's own state schemas, and every member
is optional: a part the snapshot lacks is the library's own.
device: the whole device state or none. A complete device (its
android id id, uuid, phoneId, familyId, adid, descriptor — the
part of the user agent that names the phone: 30/11; 420dpi; 1080x2340; samsung; SM-G991B; o1s; exynos2100 —
build, language, …) is kept exactly as given; without it the whole
device is generated from seed (a random one without a seed), the way
AndroidIgpapi.install generates it. No field is ever filled in from the
seed into a device the caller gave, and a seed beside a given device is
unused. The user agent is not an input: the library builds it from the
device and the application.
application: the whole application profile or none. Without it the
process presents the library's own build. A launch is an app update, so a
profile of another build than the library's is replaced by it.
session: the session, as the app holds it (any subset; what is not given
is the empty session's). With a signed-in session (authorization) the
launch is the signed-in app's cold start and the program receives the feed;
without a session the program receives the login home on the device. The
account id has one source, the authorization: an omitted or empty dsUserId
is read from a Bearer IGT:2: authorization, and one that names another
account is a SnapshotDecodeError.
cookies: the cookie jar in the serialized form of tough-cookie.
The JSON text of such a snapshot is handled exactly like the object. A
snapshot exported by ExportSnapshot is such a value too. checkpoint() after
the launch gives the library's own format.
A snapshot built by hand — an account that already exists in the caller's own system, brought onto a phone of its own — for
AndroidIgpapi.launch({ snapshot, seed?, … }). Every member is typed from the library's own state schemas, and every member is optional: a part the snapshot lacks is the library's own.device: the whole device state or none. A complete device (its android idid,uuid,phoneId,familyId,adid,descriptor— the part of the user agent that names the phone:30/11; 420dpi; 1080x2340; samsung; SM-G991B; o1s; exynos2100—build,language, …) is kept exactly as given; without it the whole device is generated fromseed(a random one without a seed), the wayAndroidIgpapi.installgenerates it. No field is ever filled in from the seed into a device the caller gave, and aseedbeside a given device is unused. The user agent is not an input: the library builds it from the device and the application.application: the whole application profile or none. Without it the process presents the library's own build. A launch is an app update, so a profile of another build than the library's is replaced by it.session: the session, as the app holds it (any subset; what is not given is the empty session's). With a signed-in session (authorization) the launch is the signed-in app's cold start and the program receives the feed; without a session the program receives the login home on the device. The account id has one source, the authorization: an omitted or emptydsUserIdis read from aBearer IGT:2:authorization, and one that names another account is aSnapshotDecodeError.cookies: the cookie jar in the serialized form oftough-cookie.The JSON text of such a snapshot is handled exactly like the object. A snapshot exported by
ExportSnapshotis such a value too.checkpoint()after the launch gives the library's own format.