Comments (23)
I like this, if there are no objections I say we go with this
from gandalf.
The version
keys could be a little more descriptively named. What does each represent?
from gandalf.
Same for blocking
, something like blockUser
or blockLaunch
seems a little clearer.
from gandalf.
Naming
from gandalf.
from gandalf.
Haha nice.
I'm down with being a little more verbose but I think it should remain the same in both message blocks so we can use the same models. Maybe like minimumVersion? And blockUser sounds fine.
from gandalf.
gandalf json RFC-rev2:
{
"android": {
"alert": {
"message": "We are currently performing server maintenance. Please try again later.",
"appLockout": true
},
"optionalUpdate": {
"optionalVersion": "3.9.0",
"message": "A new version of the application is available, please click below to update to the latest version."
},
"requiredUpdate": {
"minVersion": "3.8.0",
"message": "A new version of the application is available and is required to continue, please click below to update to the latest version."
}
}
}
from gandalf.
I'm not sure that minimumVersion
makes sense for an optionalUpdate
since the optional update refers to a specific version, whereas the requiredUpdate
refers to a range.
Maybe we should use a specific version string for optionalUpdate
and use a Gemfile-style version for requiredUpdate
: "version": "< 3.9.0"
from gandalf.
@btkelly but those versions don't represent the same thing, so using the same model could get confusing in code. How about something like:
{
"android": {
"highPriorityAlert": {
"message": "We are currently performing server maintenance. Please try again later.",
"appLockout": true
},
"versionInformation": {
"latestVersionCode": 23,
"oldestAllowedVersionCode": 12,
},
"optionalUpdateMessage": "A new version of the application is available, please click below to update to the latest version.",
"forcedUpdateMessage": "A new version of the application is available and is required to continue, please click below to update to the latest version."
}
}
from gandalf.
I like the idea of referring to everything as alerts, but I have a few preferences:
- The name
transitoryAlert
isn't very intuitive, for me. - Isn't
oldestAllowedVersionCode
the same asminimumRequiredVersion
? I feel like "minimum required" is more commonly used phrasing than "oldest allowed." - On the hangout, we discussed that an optional update alert might not be for the current or latest version, so
latestVersionCode
wouldn't really work in that scenario.
I'm starting to think that we should table the design/structure of the general/transitory alert until we get to the next milestone.
from gandalf.
- Agreed, I ninja-edited to
highPriorityAlert
immediately after replying. - Yes,
minimumRequiredVersion
is a good substitute there! - When might we not want to alert the user of the latest available version?
from gandalf.
I'm up for adjustments and I'll do what everyone thinks but I think I'm in favor of the first posting of the structure still, with only some variable name changes.
from gandalf.
I actually prefer the original JSON setup. I see the two blocks as just defining slightly different boundaries, for lack of a better term. minimumVersion
(required is implied here yes?) is the hard boundary, optionalVersion
is the soft boundary. They both have a message, the logic behind interpreting them is just slightly different.
from gandalf.
{
"android": {
"alert": {
"message": "We are currently performing server maintenance. Please try again later.",
"blocking": true
},
"optionalVersion": {
"versionCode": 4,
"message": "A new version of the application is available, please click below to update to the latest version."
},
"minimumVersion": {
"versionCode": 2,
"message": "A new version of the application is available and is required to continue, please click below to update to the latest version."
}
}
}
Imagine in the above that the current store version is 5, in the case of someone having 4, they wouldn't actually get bothered to update to 5.
from gandalf.
You guys do what you gotta do!
from gandalf.
So, are we going to use version code for Android and version string for iOS?
from gandalf.
I thought build number for iOS
from gandalf.
well... I dunno I guess we could use strings for the version in iOS and ints for the version in Android, but that could get confusing? Strings for both?
from gandalf.
I like keeping them the same, my vote is strings for both
from gandalf.
yep I'm cool with that
from gandalf.
OK so, are we cool with this, at least for milestone 1 (next milestone has custom json parsing)?
{
"android": {
"alert": {
"message": "We are currently performing server maintenance. Please try again later.",
"blocking": true
},
"optionalUpdate": {
"optionalVersion": "3.9.0",
"message": "A new version of the application is available, please click below to update to the latest version."
},
"requiredUpdate": {
"minimumVersion": "3.8.0",
"message": "A new version of the application is available and is required to continue, please click below to update to the latest version."
}
}
}
from gandalf.
from gandalf.
from gandalf.
Related Issues (20)
- Fix Travis build issue with javadoc generation
- Add screenshots from example app to README/page HOT 2
- Update README for custom dialog content
- Major versions and minor versions not supported HOT 3
- Download update from custom url HOT 3
- The library is outdated in jcenter repository HOT 6
- Application label causing manifest merger issues HOT 8
- Blocking alert not shown when user skips optional update HOT 5
- Auto install apk when using FileDownloadUpdateListener HOT 9
- Asyncronous update checking HOT 3
- Update dependencies to the current latest versions HOT 2
- Semantic version numbers can cause app crash HOT 20
- Add the ability to set a custom version checker
- Add a debug mode to the installer HOT 1
- Gradle Error: Cannot create variant 'android-lint' after configuration ':gandalf:debugRuntimeElements' has been resolved HOT 2
- Add check when application is foregrounded.
- Gandalf not working in Samsung 10 HOT 1
- Found DiskReadViolation when strict mode enabled HOT 1
- StrictMode policy violation found when doing Gson mapping from onResponse() call HOT 3
- Consider adding an dependency other than jCenter?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gandalf.