I had mine in a sandy set-up with scattered clumps of slate here and there. The slate was mainly used to bed-in the plants which my Jacks loved to uproot (out of spite), but they seemed to like them for spawning on. Spawning tended to happen after i'd skipped a water change for a week (busy schedule) and then did a few extra ones over a few days to make extra sure my water was working a-ok. When i do water changes i try to make it simulate rainfall as best i can, usually using a hose with a fancy nozzle on that allows me to mist the added water into the tank. A usuall hobby no no of using a hose to add water straight to the aquarium, but i think 80% of people in the hobby do this anyway due to time/financial/space issues in life.
Depending how far from wild bred they are will help also. A fish closer to its wild ancestors will have more natural instinct to react to triggers which are caused by us to emulate natural occurences they'd experience in their wild habitat.
Hope that helps somewhat. They are fascinating to watch when spawning, as are most fish.
James